Iteratore di oggetti in JavaScript
Creiamo un iteratore con cui potremo iterare su un oggetto. Per iniziare, creiamo un generatore che accetta un oggetto come parametro e lo itera:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Ora creiamo l'iteratore:
let iter = func({a: 1, b: 2, c: 3});
Iteriamo l'iteratore con un ciclo:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Create un iteratore che iteri su un oggetto e ad ogni chiamata restituisca un array, in cui l'elemento zero contenga la chiave, e il primo elemento contenga il valore dell'elemento dell'oggetto. Esempio:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}