Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

Array: length

BaselineWidely available

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

Beschreibung

Der Wert derlength-Eigenschaft ist eine nicht negative ganze Zahl mit einem Wert kleiner als 232.

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

  • Wennlength 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 aktuellelength hinaus gesetzt wird, wird das Array erweitert — dielength-Eigenschaft wird erhöht, um den neuen höchsten Index widerzuspiegeln.
  • Wennlength 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.

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 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.

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]

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.

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); // 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.

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

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® 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.


[8]ページ先頭

©2009-2025 Movatter.jp