Array.prototype.keys()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die keys() Methode von Array Instanzen gibt ein neues Array-Iterator-Objekt zurück, das die Schlüssel für jeden Index im Array enthält.

Probieren Sie es aus

const array1 = ["a", "b", "c"];
const iterator = array1.keys();

for (const key of iterator) {
  console.log(key);
}

// Expected output: 0
// Expected output: 1
// Expected output: 2

Syntax

js
keys()

Parameter

Keine.

Rückgabewert

Beschreibung

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

Die keys()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und integerbasierte Eigenschaften hat.

Beispiele

Verwendung von keys() bei sparse arrays

Im Gegensatz zu Object.keys(), das nur existierende Schlüssel im Array einschließt, ignoriert der keys()-Iterator keine Lücken, die fehlende Eigenschaften darstellen.

js
const arr = ["a", , "c"];
const sparseKeys = Object.keys(arr);
const denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]

Aufrufen von keys() auf Nicht-Array-Objekten

Die keys()-Methode liest die length-Eigenschaft von this und generiert dann alle ganzzahligen Indizes zwischen 0 und length - 1. Es erfolgt kein tatsächlicher Indexzugriff.

js
const arrayLike = {
  length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
  console.log(entry);
}
// 0
// 1
// 2

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.keys

Browser-Kompatibilität

Siehe auch