Iterador de objeto em JavaScript
Vamos criar um iterador com o qual poderemos iterar sobre um objeto. Primeiro, vamos fazer um gerador que aceita um objeto como parâmetro e itera sobre ele:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Agora vamos criar o iterador:
let iter = func({a: 1, b: 2, c: 3});
Vamos iterar sobre o iterador com um loop:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Faça um iterador que irá iterar sobre um objeto e, a cada chamada, retornar um array, onde o elemento de índice zero será a chave, e o elemento de índice um - o valor do elemento do objeto. Exemplo:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}