JavaScript/Objekte/Map/keys
Die Methode keys
erzeugt einen Iterator, mit dem exklusiv über die Schlüssel der Einträge einer Map iteriert werden kann.
Syntax
Map.prototype.keys( )
Writable | true |
Enumerable | false |
Configurable | true |
Prototyp
Eigenschaften
Beschreibung
Die Methode keys kann verwendet werden um über die Schlüssel der Einträge einer Map zu iterieren. Anders als die Methode entries, welche standardmäßig aufgerufen wird wenn über eine Map iteriert wird, gibt die Methode keys einen Iterator zurück, der beim gegebenenfalls impliziten Aufruf seiner Methode next nur die Schlüssel der Map ausgibt, und nicht auch die dazugehörigen Werte.
const map = new Map([
['one', 1],
['two', 2]
]);
const iterator = map.keys( );
for (let key of iterator) {
console.log(key); // one, two
}
Wird einer Schleife mit for und of keine Referenz auf die Map selbst übergeben sondern der von der Methode keys zurückgegebene Iterator, dann wird die Schleifenvariable nur mit den Schlüsseln der Einträge initialisiert, die in der Map hinterlegt sind. Das Zwischenspeichern der Referenz auf den Iterator wie in dem Beispiel oben kann man sich dabei aber natürlich sparen und die Methode keys direkt im Schleifenkopf aufrufen.
const map = new Map([
['four', 4],
['five', 5]
]);
const keys = Array.from(map.keys( ));
console.log(keys.every(key => typeof key === 'string')); // true
Der von der Methode keys zurückgegebene Iterator kann wie alle Objekte dieses Typs auch mit anderen eingebauten Konstrukten verwendet werden, wie zum Beispiel der Methode from, welche die ausgegebenen Schlüssel der Map in ein Array einfügt, was oft sinnvoll ist, da die Standardbibliothek für Arrays deutlich umfangreicher ist als die für Maps.
Spezifikation
Map.prototype.keys | ECMAScript 2015 | ECMAScript 2016 | ECMAScript 2017 Draft |
Weblinks
- MDN: Map.prototype.keys