Tri ugrađena iteratora u JavaScript-u
Zapravo, svaki iterabilni objekat
sadrži ne jedan iterator, već tri:
values, keys i entries.
Za svaki tip objekata podrazumevano se primenjuje
svoj iterator. Za nizove - to je values,
a, na primer, za kolekciju Map,
to je entries.
Posedujući ovo znanje, sada možemo
primeniti ovaj princip na bilo koju kolekciju.
Na primer, neka imamo kolekciju Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Podrazumevano za ovu kolekciju se primenjuje
iterator entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Ali lako možemo dobiti ključeve naše kolekcije:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Takođe možemo dobiti i vrednosti:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Koji iterator podrazumevano deluje u kolekciji Set?