Array: length
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die length
Dateneigenschaft einer Array
-Instanz stellt die Anzahl der Elemente in diesem Array dar. Der Wert ist eine vorzeichenlose 32-Bit-Ganzzahl, die immer numerisch größer ist als der höchste Index im Array.
Probieren Sie es aus
const clothing = ["shoes", "shirts", "socks", "sweaters"];
console.log(clothing.length);
// Expected output: 4
Wert
Eine nicht-negative Ganzzahl kleiner als 232.
Eigenschaften von Array: length | |
---|---|
Schreibbar | ja |
Aufzählbar | nein |
Konfigurierbar | nein |
Beschreibung
Der Wert der length
-Eigenschaft ist eine nicht-negative Ganzzahl mit einem Wert kleiner als 232.
const listA = [1, 2, 3];
const listB = new Array(6);
console.log(listA.length);
// 3
console.log(listB.length);
// 6
listB.length = 2 ** 32; // 4294967296
// RangeError: Invalid array length
const listC = new Array(-100); // Negative numbers are not allowed
// RangeError: Invalid array length
Das Array-Objekt beachtet die length
-Eigenschaft und synchronisiert den length
-Wert automatisch mit dem Inhalt des Arrays. Das bedeutet:
- Das Setzen von
length
auf einen Wert, der kleiner ist als die aktuelle Länge, kürzt das Array – Elemente nach der neuenlength
-Grenze werden gelöscht. - Das Setzen eines Array-Index (eine nicht-negative Ganzzahl kleiner als 232) über den aktuellen
length
-Wert hinaus erweitert das Array – dielength
-Eigenschaft wird erhöht, um den neuen höchsten Index widerzuspiegeln. - Das Setzen von
length
auf einen ungültigen Wert (z. B. eine negative Zahl oder eine Nicht-Ganzzahl) löst eineRangeError
-Ausnahme aus.
Wenn length
auf einen größeren Wert als die aktuelle Länge gesetzt wird, wird das Array durch das Hinzufügen von leeren Slots erweitert, nicht durch tatsächliche undefined
-Werte. Leere Slots haben spezielle Interaktionen mit Array-Methoden; siehe Array-Methoden und leere Slots.
const arr = [1, 2];
console.log(arr);
// [ 1, 2 ]
arr.length = 5; // set array length to 5 while currently 2.
console.log(arr);
// [ 1, 2, <3 empty items> ]
arr.forEach((element) => console.log(element));
// 1
// 2
Siehe auch Beziehung zwischen length
und numerischen Eigenschaften.
Beispiele
Iterieren über ein Array
Im folgenden Beispiel wird das Array numbers
durch Iteration über die length
-Eigenschaft durchlaufen. Der Wert jedes Elements wird anschließend verdoppelt.
const numbers = [1, 2, 3, 4, 5];
const length = numbers.length;
for (let i = 0; i < length; i++) {
numbers[i] *= 2;
}
// numbers is now [2, 4, 6, 8, 10]
Ein Array verkürzen
Im nächsten Beispiel wird das Array numbers
auf eine Länge von 3 verkürzt, wenn die aktuelle Länge größer als 3 ist.
const numbers = [1, 2, 3, 4, 5];
if (numbers.length > 3) {
numbers.length = 3;
}
console.log(numbers); // [1, 2, 3]
console.log(numbers.length); // 3
console.log(numbers[3]); // undefined; the extra elements are deleted
Leeres Array mit fester Länge erstellen
Das Setzen von length
auf einen Wert, der größer als die aktuelle Länge ist, erstellt ein spärliches Array.
const numbers = [];
numbers.length = 3;
console.log(numbers); // [empty x 3]
Array mit nicht beschreibbarer Länge
Die length
-Eigenschaft wird automatisch vom Array aktualisiert, wenn Elemente über die aktuelle Länge hinaus hinzugefügt werden. Wenn die length
-Eigenschaft schreibgeschützt gemacht wird, kann das Array sie nicht aktualisieren. Dies führt zu einem Fehler im Strict-Modus.
"use strict";
const numbers = [1, 2, 3, 4, 5];
Object.defineProperty(numbers, "length", { writable: false });
numbers[5] = 6; // TypeError: Cannot assign to read only property 'length' of object '[object Array]'
numbers.push(5); // // TypeError: Cannot assign to read only property 'length' of object '[object Array]'
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-properties-of-array-instances-length |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
length |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support