জাভাস্ক্রিপ্টে জেনারেটর
বিশেষ ফাংশন রয়েছে, যার সাহায্যে আপনি আপনার নিজস্ব ইটারেটর তৈরি করতে পারেন। এই ধরনের ফাংশনগুলিকে জেনারেটর বলা হয়। এই ধরনের ফাংশনের নাম তারকাচিহ্ন দিয়ে শুরু করতে হবে:
function *func() {
}
জেনারেটরের ভিতরে yield কীওয়ার্ড ব্যবহার করা হয়,
যা নির্দেশ করে যে, ইটারেটরটি পরবর্তী কলে
কি ফিরিয়ে দেবে। উদাহরণস্বরূপ
আসুন এমন করি যাতে প্রথম
কলটি 1 ফেরত দেয়, দ্বিতীয়টি - 2,
এবং তৃতীয়টি - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
জেনারেটর তার ফলাফল হিসেবে একটি ইটারেটর ফেরত দেয়:
let iter = func();
আসুন আমাদের ইটারেটরের কাজ পরীক্ষা করি:
console.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}
একটি ইটারেটর তৈরি করুন, যার প্রতিটি কল
5 থেকে 1 পর্যন্ত সংখ্যাগুলি ফেরত দেবে।