JavaScript да объект итератори
Келинг, объектни қайталаш имкони бўлган итератор яратайлик. Аввалоги объектни параметр сифатида қабул қиладиган ва уни қайталайдиган генератор яратамиз:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Энди итератор яратамиз:
let iter = func({a: 1, b: 2, c: 3});
Итераторни цикл билан қайталаймиз:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Шундай итератор ярангки, у объектни қайталасин ва ҳар чақириқ билан массив қайтарсин, унинг нолинчи элементида калит турсин, биринчи элементида эса объект элементининг қиймати турсин. Мисол:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}