Drei eingebaute Iteratoren in JavaScript
Tatsächlich enthält jedes iterierbare Objekt
nicht einen Iterator, sondern drei:
values, keys und entries.
Für jeden Objekttyp wird standardmäßig
ein eigener Iterator verwendet. Für Arrays ist dies values,
und zum Beispiel für die Sammlung Map
ist es entries.
Mit diesem Wissen können wir jetzt
dieses Prinzip auf jede Sammlung anwenden.
Nehmen wir zum Beispiel an, wir haben eine Map-Sammlung:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Standardmäßig wird für diese Sammlung
der Iterator entries verwendet:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Aber wir können leicht die Schlüssel unserer Sammlung erhalten:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Wir können auch die Werte erhalten:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Welcher Iterator wirkt standardmäßig in der Set-Sammlung?