Array: length
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Dielength
-Dateneigenschaft einerArray
-Instanz repräsentiert die Anzahl der Elemente in diesem Array. Der Wert ist eine vorzeichenlose 32-Bit-Ganzzahl, die immer numerisch größer als der höchste Index im Array ist.
Probieren Sie es aus
const clothing = ["shoes", "shirts", "socks", "sweaters"];console.log(clothing.length);// Expected output: 4
Wert
Eine nicht negative ganze Zahl, die kleiner als 232 ist.
Eigenschaften vonArray: length | |
---|---|
Schreibbar | ja |
Aufzählbar | nein |
Konfigurierbar | nein |
Beschreibung
Der Wert derlength
-Eigenschaft ist eine nicht negative ganze Zahl mit einem Wert kleiner als 232.
const listA = [1, 2, 3];const listB = new Array(6);console.log(listA.length);// 3console.log(listB.length);// 6listB.length = 2 ** 32; // 4294967296// RangeError: Invalid array lengthconst listC = new Array(-100); // Negative numbers are not allowed// RangeError: Invalid array length
Das Array-Objekt beobachtet dielength
-Eigenschaft und synchronisiert denlength
-Wert automatisch mit dem Inhalt des Arrays. Das bedeutet:
- Wenn
length
auf einen Wert kleiner als die aktuelle Länge gesetzt wird, wird das Array verkürzt — Elemente, die über die neuelength
hinausgehen, werden gelöscht. - Wenn ein Array-Index (eine nicht negative ganze Zahl kleiner als 232) über die aktuelle
length
hinaus gesetzt wird, wird das Array erweitert — dielength
-Eigenschaft wird erhöht, um den neuen höchsten Index widerzuspiegeln. - Wenn
length
auf einen ungültigen Wert (z. B. eine negative Zahl oder eine nicht ganzzahlige Zahl) gesetzt wird, wird eineRangeError
-Ausnahme ausgelöst.
Wennlength
auf einen größeren Wert als die aktuelle Länge gesetzt wird, wird das Array durch das Hinzufügen vonleeren Slots erweitert, nicht durch tatsächlicheundefined
-Werte. Leere Slots haben spezielle Interaktionen mit Array-Methoden; sieheArray-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 auchBeziehung zwischenlength
und numerischen Eigenschaften.
Beispiele
Iterieren über ein Array
Im folgenden Beispiel wird das Arraynumbers
durch Ablesen derlength
-Eigenschaft durchlaufen. Der Wert in jedem Element wird dann 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]
Verkürzung eines Arrays
Das folgende Beispiel verkürzt das Arraynumbers
auf eine Länge von 3, 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); // 3console.log(numbers[3]); // undefined; the extra elements are deleted
Leeres Array mit fester Länge erstellen
Das Setzen vonlength
auf einen Wert, der größer ist als die aktuelle Länge, erstellt einlückenhaftes Array.
const numbers = [];numbers.length = 3;console.log(numbers); // [empty x 3]
Array mit nicht überschreibbarer Länge
Dielength
-Eigenschaft wird vom Array automatisch aktualisiert, wenn Elemente über die aktuelle Länge hinaus hinzugefügt werden. Wenn dielength
-Eigenschaft nicht überschreibbar gemacht wird, kann das Array sie nicht aktualisieren. Dies verursacht einen Fehler imStrikten 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® 2026 Language Specification # sec-properties-of-array-instances-length |
Browser-Kompatibilität
Siehe auch
MDN-Feedback-Box
Diese Seite wurde automatisch aus dem Englischen übersetzt.