Array.prototype.entries()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2018.
Die entries()
Methode von Array
Instanzen gibt ein neues Array-Iterator-Objekt zurück, das die Schlüssel/Wert-Paare für jeden Index im Array enthält.
Probieren Sie es aus
const array1 = ["a", "b", "c"];
const iterator1 = array1.entries();
console.log(iterator1.next().value);
// Expected output: Array [0, "a"]
console.log(iterator1.next().value);
// Expected output: Array [1, "b"]
Syntax
entries()
Parameter
Keine.
Rückgabewert
Ein neues iterierbares Iterator-Objekt.
Beschreibung
Wenn die Methode für lückenhafte Arrays verwendet wird, iteriert die Methode entries()
über leere Slots, als hätten sie den Wert undefined
.
Die Methode entries()
ist generisch. Sie erwartet nur, dass der this
-Wert eine length
-Eigenschaft und ganzzahlschlüsselige Eigenschaften hat.
Beispiele
Iterieren mit Index und Element
const a = ["a", "b", "c"];
for (const [index, element] of a.entries()) {
console.log(index, element);
}
// 0 'a'
// 1 'b'
// 2 'c'
Verwendung einer for...of-Schleife
const array = ["a", "b", "c"];
const arrayEntries = array.entries();
for (const element of arrayEntries) {
console.log(element);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']
Iterieren über lückenhafte Arrays
entries()
behandelt leere Slots, als wären sie undefined
.
for (const element of [, "a"].entries()) {
console.log(element);
}
// [0, undefined]
// [1, 'a']
Aufruf von entries() bei Nicht-Array-Objekten
Die Methode entries()
liest die length
-Eigenschaft von this
und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht negative Ganzzahl kleiner als length
ist.
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
3: "d", // ignored by entries() since length is 3
};
for (const entry of Array.prototype.entries.call(arrayLike)) {
console.log(entry);
}
// [ 0, 'a' ]
// [ 1, 'b' ]
// [ 2, 'c' ]
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-array.prototype.entries |
Browser-Kompatibilität
BCD tables only load in the browser