La propriété length (longueur) est un entier non-signé de 32 bits qui indique le nombre d'éléments présents dans le tableau. Elle est toujours supérieure au plus grand indice du tableau.

var items = ["chaussures", "chemises", "chaussettes", "pulls"];
items.length;

// renvoie 4

Description

La valeur de la propriété length est un entier de signe positif dont la valeur est inférieure à 2 à la puissance 32 (232).

var tableauA = new Array(4294967296); // 2 à la puissance 32 = 4294967296 
var tableauC = new Array(-100) // une valeur négative

console.log(tableauA.length); // RangeError: Invalid array length 
console.log(tableauC.length); // RangeError: Invalid array length 

var tableauB = []; 
tableauB.length = Math.pow(2,32)-1; // On déclare une longueur inférieure à 2 puissance 32
console.log(tableauB.length); // 4294967295

Vous pouvez modifier la propriété length d'un tableau à loisir pour le tronquer. Quand vous étendez un tableau en modifiant la valeur de sa propriété length, le nombre d'éléments réellement présents dans ce tableau n'augmente pas : par exemple, si vous affectez la valeur 3 à la propriété length d'un tableau alors qu'elle vaut 2, le tableau contiendra toujours seulement 2 éléments.  De ce fait, la propriété length d'un tableau ne renseigne en rien sur le nombre de valeurs définies dans le tableau. Voir aussi la relation entre longueur et propriétés numériques.

var arr = [1, 2, 3];
afficheElements(arr);

arr.length = 5; // On met à jour la propriété length avec 5
                // alors que le tableau ne contient que 3 éléments
afficheElements(arr);

function afficheElements(arr) {
  var goNext = true;
  var entries = arr.entries();
  while (goNext) {
    var result = entries.next();
    if (result.done !== true) {
      console.log(result.value[1]);
      goNext = true;
    } else
      goNext = false;
  }
  console.log('=== affichage ===');
}

// 1
// 2
// 3
// === affichage ===
// 1
// 2
// 3
// undefined
// undefined
// === affichage ===

Attributs de array.length
Écrivable Oui
Énumérable Non
Configurable Non

Exemples

Renvoyer la longueur d'un tableau

var items = ["chaise", "bureau", "table", "sac"];
items.length; // 4

Parcourir un tableau

Dans l'exemple suivant, on itère sur le tableau nombres en utilisant la propriété length afin de connaître son nombre d'élément. La valeur de chaque élément est ensuite multipliée par deux :

var nombres = [1,2,3,4,5];

for (var i = 0; i < nombres.length; i++) {
  nombres[i] *= 2;
}
// nombres vaut maintenant [2,4,6,8,10];

Tronquer un tableau

L'exemple suivant raccourcit le tableau etatsUS à 50 si sa longueur actuelle est supérieure à 50.

if (etatsUS.length > 50) {
   etatsUS.length = 50;
}

Specifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale.
ECMAScript 5.1 (ECMA-262)
La définition de 'Array.length' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Array.length' dans cette spécification.
Standard  
ECMAScript Latest Draft (ECMA-262)
La définition de 'Array.length' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
FonctionnalitéAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, SBEN, andrea11, teoli, greygjhart
 Dernière mise à jour par : SphinxKnight,