JavaScript'dagi uchta o'rnatilgan iterator
Asilda har bir iteratsiya qilinadigan obyekt
bitta iterator emas, balki uchtasini o'z ichiga oladi:
values, keys va entries.
Har bir turdagi obyektlar uchun standart bo'yicha o'z iterator
qo'llaniladi. Massivlar uchun - bu values,
masalan, Map kolleksiyasi uchun esa
entries.
Bu bilimlar bilan, endi biz bu printsipni
har qanday kolleksiyaga qo'llashimiz mumkin.
Misol uchun, bizda Map kolleksiyasi bor:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Standart bo'yicha bu kolleksiya uchun
entries iterator qo'llaniladi:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Lekin biz kolleksiyaning kalitlarini osonlik bilan olishimiz mumkin:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Shuningdek, qiymatlarni ham olishimiz mumkin:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Set kolleksiyasida standart bo'yicha qaysi iterator
ishlaydi?