Итератор объекта в JavaScript

Давайте создадим итератор, с помощью которого можно будет перебрать обьект. Для начала сделаем генератор, параметром принимающий объект и перебирающий его:

function *func(obj) { for (let key in obj) { yield obj[key]; } }

Создадим теперь итератор:

let iter = func({a: 1, b: 2, c: 3});

Переберем итератор циклом:

for (let elem of iter) { console.log(elem); // 1, 2, 3 }

Сделайте итератор, который будет перебирать объект и каждым вызовом возвращать массив, в нулевом элементе которого будет лежать ключ, а в первом элементе - значение элемента объекта. Пример:

let iter = func({a: 1, b: 2, c: 3}); for (let elem of iter) { console.log(elem); // ['a', 1], ['b', 2], ['c', 3] }
enru