जावास्क्रिप्ट में जेनरेटर में लूप्स

जेनरेटर के अंदर लूप्स का उपयोग किया जा सकता है। इसके साथ हम yield की सहायता से लूप्स को रोक (पॉज़) कर सकते हैं। आइए एक उदाहरण देखें। हम प्रत्येक पुनरावृत्ति (इटरेशन) पर लूप को रोकेंगे:

javascriptfunction *func() {
  for (let i = 1; i <= 3; i++) {
    yield i;
  }
}

इटरेटर प्राप्त करें:

javascriptlet iter = func();

अपने इटरेटर के काम की जाँच करें:

javascriptconsole.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Задание 1

एक ऐसा इटरेटर बनाएं, जिसका हर कॉल 10 से लेकर शून्य तक की संख्याएँ वापस करे।

Задание 2

एक जेनरेटर बनाएं, जो एक पैरामीटर के रूप में एक संख्या लेगा। इटरेटर का हर कॉल संख्या को एक-एक करके तब तक कम करता रहे, जब तक कि शून्य तक न पहुँच जाए।

Задание 3

एक जेनरेटर बनाएं, जो एक पैरामीटर के रूप में एक संख्या लेगा। इटरेटर का हर कॉल संख्या को आधा करे और परिणाम वापस करे। और ऐसा तब तक करता रहे, जब तक संख्या एक से कम न हो जाए।

Задание 4

एक इटरेटर बनाएं, जिसका हर कॉल दो की अगली घात (पावर) वापस करे।

Задание 5

एक इटरेटर बनाएं, जिसका हर कॉल अगला फाइबोनैचि संख्या वापस करे।