जावास्क्रिप्ट में इटरेटर कॉल
इटरेटर का प्रत्येक लगातार कॉल एक विशेष संरचना की वस्तु वापस करना चाहिए। आइए इसका विश्लेषण करें। मान लीजिए कि हमारे पास एक सरणी है:
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 संग्रह का इटरेटर प्राप्त करें।
इसे लगातार कॉल करते रहें,
जब तक कि संग्रह के तत्व समाप्त न हो जाएँ।