Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Array.prototype.keys()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die Methode keys() 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 array = ["a", "b", "c"];
const iterator = array.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

Ein neues iterierbares Iterator-Objekt.

Beschreibung

Bei Arrays mit Lücken durchläuft die Methode keys() auch leere Positionen, als hätten sie den Wert undefined.

Die Methode keys() ist generisch. Sie setzt lediglich voraus, dass der Wert von this eine length-Eigenschaft und ganzzahlig indizierte Eigenschaften hat.

Beispiele

keys() bei Arrays mit Lücken verwenden

Anders als Object.keys(), das nur tatsächlich im Array vorhandene Schlüssel berücksichtigt, 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]

keys() für Objekte aufrufen, die keine Arrays sind

Die Methode keys() liest die length-Eigenschaft von this und gibt anschließend alle ganzzahligen Indizes zwischen 0 und length - 1 aus. Auf die Werte an diesen Indizes wird dabei nicht zugegriffen.

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

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-array.prototype.keys

Browser-Kompatibilität

Siehe auch