JavaScript ရှိ Generator များအတွင်းရှိ ကွင်းဆက်များ

Generator များအတွင်း၌ ကွင်းဆက်များကို အသုံးပြုနိုင်သည်။ ဤသို့ဖြင့် yield ကို အသုံးပြု၍ ကွင်းဆက်များကို ခေတ္တရပ်နားထားနိုင်သည်။ ဥပမာတစ်ခုအား ကြည့်ရှုကြပါစို့။ ကွင်းဆက်၏ အကြိမ်တိုင်းတွင် ခေတ္တရပ်နားထားမည်။

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

Iterator ကိုရယူပါမည်။

javascriptlet iter = func();

ကျွန်ုပ်တို့၏ iterator ၏လုပ်ဆောင်ချက်ကို စမ်းသပ်ကြည့်ပါမည်။

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

Iterator တစ်ခုဖန်တီးပါ၊ ၎င်း၏ခေါ်ဆိုမှုတိုင်းသည် 10 မှ သုညအထိ ဂဏန်းများကို ပြန်ပေးရမည်။

Задание 2

ဂဏန်းတစ်ခုကို parameter အဖြစ်လက်ခံမည့် generator တစ်ခုကို ပြုလုပ်ပါ။ Iterator ကို ခေါ်ဆိုတိုင်း သုညရောက်သည်အထိ ဂဏန်းအား တစ်ကြိမ်လျှင် တစ်ခုစီ လျှော့ချရမည်။

Задание 3

ဂဏန်းတစ်ခုကို parameter အဖြစ်လက်ခံမည့် generator တစ်ခုကို ပြုလုပ်ပါ။ Iterator ကို ခေါ်ဆိုတိုင်း ဂဏန်းအား နှစ်ဆစီစားပြီး ရလဒ်ကို ပြန်ပေးရမည်။ ဂဏန်းသည် တစ်ထက် ငယ်သွားသည်အထိ ဤသို့ပြုလုပ်ပါ။

Задание 4

Iterator တစ်ခုပြုလုပ်ပါ၊ ၎င်း၏ခေါ်ဆိုမှုတိုင်းသည် နှစ်၏နောက်ထပ် ထပ်ကိန်းတစ်ခုကို ပြန်ပေးရမည်။

Задание 5

Iterator တစ်ခုပြုလုပ်ပါ၊ ၎င်း၏ခေါ်ဆိုမှုတိုင်းသည် နောက်ထပ် Fibonacci ဂဏန်းတစ်ခုကို ပြန်ပေးရမည်။