Trīs iebūvētie iteratori JavaScript
Patiesībā katrs iterējamais objekts
satur nevis vienu iteratoru, bet trīs:
values, keys un entries.
Katram objektu tipam pēc noklusējuma tiek izmantots
savs iterators. Masīviem - tas ir values,
bet, piemēram, kolekcijai Map,
tas ir entries.
Zinot šo, mēs tagad varam
piemērot šo principu jebkurai kolekcijai.
Piemēram, pieņemsim, ka mums ir kolekcija Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Pēc noklusējuma šai kolekcijai tiek piemērots
iterators entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Bet mēs viegli varam iegūt atslēgas mūsu kolekcijas:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Varam iegūt arī vērtības:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Kāds iterators pēc noklusējuma darbojas kolekcijā Set?