Volání iterátoru v JavaScriptu

Každé sekvenční volání iterátoru by mělo vrátit objekt speciální structury. Pojďme se na ni podívat. Předpokládejme, že máme pole:

javascriptlet arr = [1, 2, 3];

Získáme iterátor pole do proměnné:

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

Nyní tato proměnná obsahuje objekt s metodou next. Tato metoda bude vracet objekt s klíčem value, obsahujícím hodnotu prvku, a klíčem done, obsahujícím informaci o tom, zda průchod skončil, nebo ne:

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

Sekvenční volání metody next bude pokaždé vydávat následující prvek:

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

A jakmile prvky dojdou, uvidíme následující hodnoty:

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

Získejte iterátor kolekce Map. Postupně jej volejte, dokud prvky kolekce nedojdou.

Задание 2

Získejte iterátor kolekce NodeList. Postupně jej volejte, dokud prvky kolekce nedojdou.

Задание 3

Získejte iterátor kolekce HTMLCollection. Postupně jej volejte, dokud prvky kolekce nedojdou.