Се итераторҳои дарсохтаи 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 кадом итератор ба таври пешфарз амал мекунад?