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
Schreibbarja
Aufzählbarnein
Konfigurierbarnein

Beschreibung

Der Wert der length-Eigenschaft ist eine nicht-negative Ganzzahl mit einem Wert kleiner als 232.

js
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 beobachtet die length-Eigenschaft und synchronisiert den length-Wert automatisch mit dem Inhalt des Arrays. Dies bedeutet:

  • Wenn length auf einen kleineren Wert als die aktuelle Länge gesetzt wird, wird das Array verkürzt — Elemente, die über die neue length hinausgehen, werden gelöscht.
  • Wenn ein beliebiger Array-Index (eine nicht-negative Ganzzahl kleiner als 232) über die aktuelle length hinaus gesetzt wird, wird das Array erweitert — die length-Eigenschaft wird erhöht, um den neuen höchsten Index widerzuspiegeln.
  • Wenn length auf einen ungültigen Wert gesetzt wird (z.B. eine negative Zahl oder eine Nicht-Ganzzahl), wird eine RangeError-Ausnahme ausgelöst.

Wenn length auf einen größeren Wert als die aktuelle Länge gesetzt wird, wird das Array durch das Hinzufügen von leeren Plätzen erweitert, nicht durch tatsächliche undefined-Werte. Leere Plätze haben einige spezielle Interaktionen mit Array-Methoden; siehe Array-Methoden und leere Plätze.

js
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 durchlaufen, indem die length-Eigenschaft betrachtet wird. Der Wert in jedem Element wird dann verdoppelt.

js
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 folgenden Beispiel wird das Array numbers auf eine Länge von 3 verkürzt, wenn die aktuelle Länge größer als 3 ist.

js
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 größer als die aktuelle Länge erzeugt ein dünn besetztes Array.

js
const numbers = [];
numbers.length = 3;
console.log(numbers); // [empty x 3]

Array mit nicht-schreibbarer Länge

Die length-Eigenschaft wird vom Array automatisch aktualisiert, wenn Elemente über die aktuelle Länge hinaus hinzugefügt werden. Wenn die length-Eigenschaft nicht schreibbar gemacht wird, kann das Array sie nicht aktualisieren. Dies verursacht einen Fehler im Strict-Modus.

js
"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

Siehe auch