Iteraatori väljakutsed JavaScriptis

Iga iteratiivi järjestikune väljakutse peab tagastama objekti spetsiaalse struktuuriga. Vaatame seda lähemalt. Olgu meil massiiv:

javascriptlet arr = [1, 2, 3];

Saame massiivi iteraatori muutujasse:

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

Nüüd sisaldab see muutuja objekti meetodiga next. See meetod tagastab objekti võtmega value, mis sisaldab elemendi väärtust, ja võtmega done, mis sisaldab teavet selle kohta, kas loendamine on lõppenud või mitte:

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

Meetodi next järjestikune väljakutse annab iga kord järgmise elemendi:

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

Ja niipea kui elemendid otsa saavad, näeme järgmisi väärtusi:

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

Hankige kogumi Map iteraator. Kutsuge seda järjestikku välja, kuni kogumi elemendid otsa saavad.

Задание 2

Hankige kogumi NodeList iteraator. Kutsuge seda järjestikku välja, kuni kogumi elemendid otsa saavad.

Задание 3

Hankige kogumi HTMLCollection iteraator. Kutsuge seda järjestikku välja, kuni kogumi elemendid otsa saavad.