जावास्क्रिप्ट में ऑब्जेक्ट इटरेटर

आइए एक ऐसा इटरेटर बनाएं जिसकी मदद से किसी ऑब्जेक्ट को पुनरावृत्त (iterate) किया जा सके। शुरुआत में एक जनरेटर फ़ंक्शन बनाते हैं, जो एक ऑब्जेक्ट को पैरामीटर के रूप में ले और उसे पुनरावृत्त करे:

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

एक ऐसा इटरेटर बनाएं, जो ऑब्जेक्ट को पुनरावृत्त करे और प्रत्येक कॉल पर एक ऐरे वापस करे, जिसके शून्यवें एलिमेंट में कुंजी (key) हो, और पहले एलिमेंट में - ऑब्जेक्ट के एलिमेंट का मान हो। उदाहरण:

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

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