Tri vgrajeni iteratorji v JavaScript
Pravzaprav vsak iterabilen objekt
vsebuje ne en iterator, ampak tri:
values, keys in entries.
Za vsako vrsto objektov se privzeto uporablja
svoj iterator. Za polja - to je values,
na primer za zbirko Map,
pa je to entries.
S temi znanji lahko zdaj
uporabimo to načelo za katero koli zbirko.
Na primer, recimo, da imamo zbirko Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Privzeto se za to zbirko uporablja
iterator entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Vendar lahko zlahka dobimo ključe naše zbirke:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Prav tako lahko dobimo tudi vrednosti:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Kateri iterator deluje privzeto v zbirki Set?