Օբյեկտի իտերատորը JavaScript-ում

Եկեք ստեղծենք մի իտերատոր, որի օգնությամբ հնարավոր կլինի կրկնել օբյեկտի վրայով: Սկզբում եկեք ստեղծենք գեներատոր, որն ընդունում է օբյեկտ որպես պարամետր և կրկնում է դրա վրայով.

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

Հիմա ստեղծենք իտերատորը.

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

Կրկնենք իտերատորը ցիկլով.

javascriptfor (let elem of iter) {
  console.log(elem); // 1, 2, 3
}
Задание 1

Ստեղծեք իտերատոր, որն անցնելու է օբյեկտի վրայով և ամեն կանչով կվերադարձնի մի զանգված, որի զրոյական տարրում կլինի բանալին, իսկ առաջին տարրում՝ օբյեկտի տարրի արժեքը: Օրինակ.

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

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