Array.length

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.

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. La troisième « case » ne sera pas itérable. 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.

const arr = [1, 2, 3];
console.table(arr);
// [1, 2]

arr.length = 5; // On définit une longueur à 5
console.table(arr);
// [1, 2, <3 éléments vides>]

arr.forEach(element => console.log(element));
// 1
// 2
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.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
lengthChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 4Opera Support complet OuiSafari Support complet OuiWebView Android Support complet ≤37Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet 1.0nodejs Support complet Oui

Légende

Support complet  
Support complet

Voir aussi