JavaScript-এ ইটারেটর কল
ইটারেটরের প্রতিটি ধারাবাহিক কল অবশ্যই একটি বিশেষ গঠনের অবজেক্ট ফেরত দেবে। আসুন এটি দেখি। ধরুন আমাদের একটি অ্যারে আছে:
let arr = [1, 2, 3];
অ্যারের ইটারেটরটি একটি ভেরিয়েবলে পাওয়া যাক:
let iter = arr[Symbol.iterator]();
এখন এই ভেরিয়েবলে একটি অবজেক্ট রয়েছে
যার মধ্যে next মেথড আছে। এই মেথডটি
একটি অবজেক্ট ফেরত দেবে যার মধ্যে value কী রয়েছে,
যাতে এলিমেন্টের মান থাকে, এবং done কী,
যাতে এই তথ্য থাকে যে ইটারেশন শেষ হয়েছে
কিনা:
console.log( iter.next() ); // {value: 1, done: false}
next মেথডের ধারাবাহিক কল
প্রতিবার পরবর্তী এলিমেন্ট
দেবে:
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}
Map কালেকশনের ইটারেটর নিন।
এটিকে ধারাবাহিকভাবে কল করুন,
যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।
NodeList কালেকশনের ইটারেটর নিন।
এটিকে ধারাবাহিকভাবে কল করুন,
যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।
HTMLCollection কালেকশনের ইটারেটর নিন।
এটিকে ধারাবাহিকভাবে কল করুন,
যতক্ষণ না কালেকশনের এলিমেন্টগুলি শেষ হয়।