Iterator obiektu w JavaScript
Stwórzmy iterator, za pomocą którego będzie można iterować po obiekcie. Na początek zróbmy generator, który przyjmuje obiekt jako parametr i iteruje po nim:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
Stwórzmy teraz iterator:
let iter = func({a: 1, b: 2, c: 3});
Przeiterujmy iterator pętlą:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
Zrób iterator, który będzie iterować po obiekcie i każdym wywołaniem zwracać tablicę, w zerowym elemencie której będzie klucz, a w pierwszym elemencie - wartość elementu obiektu. Przykład:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}