जावास्क्रिप्ट में इटरेटर कॉल

इटरेटर का प्रत्येक लगातार कॉल एक विशेष संरचना की वस्तु वापस करना चाहिए। आइए इसका विश्लेषण करें। मान लीजिए कि हमारे पास एक सरणी है:

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 संग्रह का इटरेटर प्राप्त करें। इसे लगातार कॉल करते रहें, जब तक कि संग्रह के तत्व समाप्त न हो जाएँ।