Die length Eigenschaft eines Objektes vom Typ Array setzt die Anzahl der Elemente in einem Array oder gibt diese Anzahl zurück. Der Wert ist eine vorzeichenloser, 32-Bit Ganzzahl, welche größer als der größte Index im Array ist.

Beschreibung

Der Wert der length Eigenschaft ist ein positive, ganze Zahl und hat einen Wert kleiner als 232.

var namelistA = new Array(4294967296); //4294967296 = 232  
var namelistC = new Array(-100) //negative sign

console.log(namelistA.length); //RangeError: Invalid array length 
console.log(namelistC.length); //RangeError: Invalid array length 



var namelistB = []; 
namelistB.length = Math.pow(2,32)-1; //set array length less than 2 to the 32nd power 
console.log(namelistB.length); 

//4294967295

Mit kann die length Eigenschaft eines Array zu jeder Zeit ändern, um das Array zu kürzen. Wenn ein Array mit dem Ändern der length Eigenschaft vergrößert wird, erhöht sich die Anzahl der der tatsächlichen Elemente. Wenn z. B. length auf 3 gesetzt wird und die aktuelle länge 2 ist, dann enthält das Array 3 Elemente, wobei das dritte Element undefined ist.

var arr = [1, 2, 3];
printEntries(arr);

arr.length = 5; // set array length to 5 while currently 3.
printEntries(arr);

function printEntries(arr) {
  var length = arr.length;
  for (var i = 0; i < length; i++) {
    console.log(arr[i]);
  }
  console.log('=== printed ===');
}

// 1
// 2
// 3
// === printed ===
// 1
// 2
// 3
// undefined
// undefined
// === printed ===

Jedoch sagt die length Eigenschaft nicht zwngsläufig etwas über die Anzahl der definierten Werte in einem Array aus. Mehr dazu im Artikel Beziehung zwischen Längen und nummerischen Eigenschaften.

Eigenschaftsattribute von Array.prototype.length
Schreibbar ja
Aufzählbar nein
Konfigurierbar nein

  • Writable: Wenn das Attribut auf false gesetzt ist, kann der Wert der Eigenschaft nicht mehr geändert werden.
  • Configurable: Wenn das Attribut auf false gesetzt ist, wird jeder Versuch scheitern die Attribute dieses Attributs (Writable, Configurable, Enumerable) zu ändern
  • Enumerable: Wenn das Attribut auf true gesetzt ist, wird das Attribut während for oder for..in Schleifen iteriert.

Beispiele

Iterieren über ein Array

Im folgenden Beispiel wird über das numbers Array iteriert. Dabei wird die length Eigenschaft verwendet, um festzustellen, wie viele Elemnte das Array enthält. Der Wert jedes Elements wird dabie verdoppelt.

var numbers = [1, 2, 3, 4, 5];

for (var i = 0; i < numbers.length; i++) {
  numbers[i] *= 2;
}
// numbers enthält jetzt die Werte: [2, 4, 6, 8, 10]

Verkürzung eines Arrays

Das folgende Beispiel verkürzt das Array numbers zu einer Länge von 3, wenn die Länge größer als 3 ist.

var numbers = [1, 2, 3, 4, 5];

if (numbers.length > 3) {
  numbers.length = 3;
}

console.log(numbers);        // [1, 2, 3]
console.log(numbers.length); // 3

Spezifikationen

Spezifikation Status Komment
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Array.length' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Array.length' in dieser Spezifikation.
Standard  
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Array.length' in dieser Spezifikation.
Entwurf  

Browserkompabilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Ja Ja1 Ja Ja Ja
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja4 Ja Ja Ja

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: schlagi123, AndyTheDandy
Zuletzt aktualisiert von: schlagi123,