JavaScriptдаги учта ўрнатилган итераторлар
Аслича ҳар бир итерация қилинувчи объект
бирта эмас, балки учта итераторни ўз ичига олади:
values, keys ва entries.
Ҳар бир турдаги объектлар учун сустки ҳолда ўзига хос
итератор қўлланилади. Массивлар учун - бу values,
ва, масалан, Map коллекцияси учун,
бу entries.
Бу билимларга эга бўлганимиз билан, энди биз
бу принципни istalgan коллекцияга қўллашимиз мумкин.
Мисол учун, бизда 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 коллекциясида сустки ҳолда қандай
итератор амал қилади?