Tři vestavěné iterátory v JavaScriptu
Ve skutečnosti každý iterovatelný objekt
obsahuje ne jeden iterátor, ale tři:
values, keys a entries.
Pro každý typ objektů se standardně používá
svůj iterátor. Pro pole - to je values,
a například pro kolekci Map,
to je entries.
S těmito znalostmi nyní můžeme
aplikovat tento princip na jakoukoli kolekci.
Například mějme kolekci Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Standardně pro tuto kolekci se používá
iterátor entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Ale snadno můžeme získat klíče naší kolekce:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Také můžeme získat i hodnoty:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Jaký iterátor standardně působí v kolekci Set?