JavaScript-এ ইটারেটর কল

ইটারেটরের প্রতিটি ধারাবাহিক কল অবশ্যই একটি বিশেষ গঠনের অবজেক্ট ফেরত দেবে। আসুন এটি দেখি। ধরুন আমাদের একটি অ্যারে আছে:

javascriptlet arr = [1, 2, 3];

অ্যারের ইটারেটরটি একটি ভেরিয়েবলে পাওয়া যাক:

javascriptlet iter = arr[Symbol.iterator]();

এখন এই ভেরিয়েবলে একটি অবজেক্ট রয়েছে যার মধ্যে next মেথড আছে। এই মেথডটি একটি অবজেক্ট ফেরত দেবে যার মধ্যে value কী রয়েছে, যাতে এলিমেন্টের মান থাকে, এবং done কী, যাতে এই তথ্য থাকে যে ইটারেশন শেষ হয়েছে কিনা:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}

next মেথডের ধারাবাহিক কল প্রতিবার পরবর্তী এলিমেন্ট দেবে:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}

এবং যেই মুহূর্তে এলিমেন্ট শেষ হয়ে যাবে, আমরা নিম্নলিখিত মানগুলি দেখতে পাব:

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

Map কালেকশনের ইটারেটর নিন। এটিকে ধারাবাহিকভাবে কল করুন, যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।

Задание 2

NodeList কালেকশনের ইটারেটর নিন। এটিকে ধারাবাহিকভাবে কল করুন, যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।

Задание 3

HTMLCollection কালেকশনের ইটারেটর নিন। এটিকে ধারাবাহিকভাবে কল করুন, যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।