JavaScript/Objekte/Map/keys

Aus SELFHTML-Wiki
< JavaScript‎ | Objekte‎ | Map
Wechseln zu: Navigation, Suche

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( )


Attribute
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.


Beispiel
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.


Beispiel
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