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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
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 longueur = arr.length; for(var i = 0; i < longueur; i++){ console.log(arr[i]); } 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. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Support simple | Oui | Oui | 1 | Oui | Oui | Oui |
Fonctionnalité | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Support simple | Oui | Oui | Oui | 4 | Oui | Oui | Oui |