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 May 2018.

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

Syntax

js
keys()

Parameter

Keine.

Rückgabewert

Beschreibung

Bei der Verwendung auf sparsen Arrays iteriert die keys()-Methode leere Felder, als ob sie den Wert undefined hätten.

Die keys()-Methode ist generisch. Sie erwartet lediglich, dass der this-Wert eine length-Eigenschaft und integerbasierte Schlüsseleigenschaften hat.

Beispiele

Verwendung von keys() auf sparsamen Arrays

Im Gegensatz zu Object.keys(), das nur Schlüssel einbezieht, die tatsächlich im Array existieren, 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 gibt dann alle ganzzahligen Indizes zwischen 0 und length - 1 aus. 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 Language Specification
# sec-array.prototype.keys

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch