Klici iteratorja v JavaScript

Vsak zaporedni klic iteratorja mora vrniti objekt posebne strukture. Oglejmo si jo. Recimo, da imamo polje:

javascriptlet arr = [1, 2, 3];

Pridobimo iterator polja v spremenljivko:

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

Zdaj ta spremenljivka vsebuje objekt z metodo next. Ta metoda bo vrnila objekt s ključem value, ki vsebuje vrednost elementa, in ključem done, ki vsebuje informacijo o tem, ali se je prebiranje končalo ali ne:

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

Zaporedni klic metode next bo vsakič vrnil naslednji element:

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

In ko bodo elementi zmanjkali, bomo videli naslednje vrednosti:

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

Pridobite iterator zbirke Map. Zaporedno ga kličite, dokler se elementi zbirke ne končajo.

Задание 2

Pridobite iterator zbirke NodeList. Zaporedno ga kličite, dokler se elementi zbirke ne končajo.

Задание 3

Pridobite iterator zbirke HTMLCollection. Zaporedno ga kličite, dokler se elementi zbirke ne končajo.