Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 Juli 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.
In diesem Artikel
Probieren Sie es aus
const clothing = ["shoes", "shirts", "socks", "sweaters"];console.log(clothing.length);// Expected output: 4Wert
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 lengthDas Array-Objekt beobachtet dielength-Eigenschaft und synchronisiert denlength-Wert automatisch mit dem Inhalt des Arrays. Das bedeutet:
- Wenn
lengthauf einen Wert kleiner als die aktuelle Länge gesetzt wird, wird das Array verkürzt — Elemente, die über die neuelengthhinausgehen, werden gelöscht. - Wenn ein Array-Index (eine nicht negative ganze Zahl kleiner als 232) über die aktuelle
lengthhinaus gesetzt wird, wird das Array erweitert — dielength-Eigenschaft wird erhöht, um den neuen höchsten Index widerzuspiegeln. - Wenn
lengthauf 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// 2Siehe 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 deletedLeeres 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> |