জাভাস্ক্রিপ্টে জেনারেটর

বিশেষ ফাংশন রয়েছে, যার সাহায্যে আপনি আপনার নিজস্ব ইটারেটর তৈরি করতে পারেন। এই ধরনের ফাংশনগুলিকে জেনারেটর বলা হয়। এই ধরনের ফাংশনের নাম তারকাচিহ্ন দিয়ে শুরু করতে হবে:

javascriptfunction *func() {
  
}

জেনারেটরের ভিতরে yield কীওয়ার্ড ব্যবহার করা হয়, যা নির্দেশ করে যে, ইটারেটরটি পরবর্তী কলে কি ফিরিয়ে দেবে। উদাহরণস্বরূপ আসুন এমন করি যাতে প্রথম কলটি 1 ফেরত দেয়, দ্বিতীয়টি - 2, এবং তৃতীয়টি - 3:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

জেনারেটর তার ফলাফল হিসেবে একটি ইটারেটর ফেরত দেয়:

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

একটি ইটারেটর তৈরি করুন, যার প্রতিটি কল 5 থেকে 1 পর্যন্ত সংখ্যাগুলি ফেরত দেবে।