JavaScriptにおけるオブジェクトのイテレーター
オブジェクトを反復処理できるイテレーターを作成しましょう。 まず始めに、オブジェクトをパラメータとして受け取り、 それを反復処理するジェネレーターを作ります:
function *func(obj) {
for (let key in obj) {
yield obj[key];
}
}
次に、イテレーターを作成しましょう:
let iter = func({a: 1, b: 2, c: 3});
イテレーターをfor...ofループで反復処理します:
for (let elem of iter) {
console.log(elem); // 1, 2, 3
}
オブジェクトを反復処理し、各呼び出しで 配列を返すイテレーターを作成してください。 配列の0番目の要素にはキーが、 1番目の要素にはオブジェクト要素の値が 入っているようにします。例:
let iter = func({a: 1, b: 2, c: 3});
for (let elem of iter) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}