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 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
keys()
Parameter
Keine.
Rückgabewert
Ein neues iterierbares Iterator-Objekt.
Beschreibung
Wenn sie auf Sparse Arrays angewendet wird, iteriert die Methode keys()
über leere Slots, als ob sie den Wert undefined
hätten.
Die Methode keys()
ist generisch. Sie erwartet nur, dass der this
-Wert eine length
-Eigenschaft und integer-indizierte Eigenschaften hat.
Beispiele
Verwendung von keys() bei Sparse Arrays
Im Gegensatz zu Object.keys()
, das nur die im Array tatsächlich vorhandenen Schlüssel einschließt, ignoriert der keys()
-Iterator keine Lücken, die fehlende Eigenschaften darstellen.
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() bei Nicht-Array-Objekten
Die Methode keys()
liest die length
-Eigenschaft von this
und liefert dann alle ganzzahligen Indizes zwischen 0 und length - 1
. Es erfolgt kein tatsächlicher Indexzugriff.
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 |