Array.prototype.length
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 vorzeichenlose, 32-Bit Ganzzahl, welche größer als der größte Index im Array ist.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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
Man 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 zwangslä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 auffalse
gesetzt ist, kann der Wert der Eigenschaft nicht mehr geändert werden.Configurable
: Wenn das Attribut auffalse
gesetzt ist, wird jeder Versuch scheitern, die Werte der AttributeWritable
,Configurable und
Enumerable
zu ändern.Enumerable
: Wenn das Attribut auftrue
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 Elemente das Array enthält. Der Wert jedes Elements wird dabei 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
auf eine 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 (ECMA-262) Die Definition von 'Array.length' in dieser Spezifikation. |
Lebender Standard |
Browserkompabilität
BCD tables only load in the browser