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
}
객체를 순회하고, 각 호출마다 배열을 반환하는 이터레이터를 만드세요. 배열의 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]
}