Три вградени итератори во JavaScript
Всушност, секој итерирачки објект
содржи не еден итератор, туку три:
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?