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

Syntax

js
entries()

Parameter

Keine.

Rückgabewert

Beschreibung

Wenn die Methode auf sparse Arrays angewendet wird, iteriert die entries()-Methode über leere Stellen, als ob sie den Wert undefined hätten.

Die entries()-Methode ist generisch. Sie erwartet lediglich, dass der this-Wert eine length-Eigenschaft und ganzzahlige Schlüsselwerteigenschaften hat.

Beispiele

Iteration mit Index und Element

js
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

js
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 Sparse Arrays

entries() besucht leere Stellen, als ob sie undefined sind.

js
for (const element of [, "a"].entries()) {
  console.log(element);
}
// [0, undefined]
// [1, 'a']

Aufrufen von entries() auf Nicht-Array-Objekten

Die entries()-Methode liest die length-Eigenschaft von this und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht-negative Ganzzahl kleiner als length ist.

js
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 Language Specification
# sec-array.prototype.entries

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch