Objektin iteraattori JavaScriptissä
Luodaan iteraattori, jonka avulla voimme iteroida objektin. Aluksi teemme generaattorin, joka ottaa objektin parametrina ja iteroi sen:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Luodaan nyt iteraattori:
let iter = func({a: 1, b: 2, c: 3});
Iteroidaan iteraattori silmukalla:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Tee iteraattori, joka iteroi objektin ja jokaisella kutsulla palauttaa taulukon, jonka nollannessa elementissä on avain, ja ensimmäisessä elementissä - objektin elementin arvo. Esimerkki:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}