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