Iterador de objetos en JavaScript
Vamos a crear un iterador, con el cual podremos recorrer un objeto. Para empezar, hagamos un generador, que tome un objeto como parámetro y lo recorra:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Ahora creemos el iterador:
let iter = func({a: 1, b: 2, c: 3});
Recorramos el iterador con un ciclo:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Cree un iterador que recorra un objeto y con cada llamada devuelva un array, en el elemento cero del cual estará la clave, y en el primer elemento - el valor del elemento del objeto. Ejemplo:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}