Три уграђена итератора у ЈаваСкрипту
У ствари, сваки објекат који се може итерирати
садржи не један итератор, већ три:
values, keys и entries.
За сваки тип објеката по дефаулту се примењује
сопствени итератор. За низове - то је values,
а, на пример, за колекцију Map,
то је entries.
Поседујући ова знања, сада можемо
применити овај принцип на било коју колекцију.
На пример, нека имамо колекцију Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
По дефаулту за ову колекцију се примењује
итератор entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Али лако можемо добити кључеве наше колекције:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Такође можемо добити и вредности:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Који итератор по дефаулту делује у колекцији Set?