Повикување на итератор во JavaScript

Секој последователен повик на итераторот треба да врати објект со специјална структура. Ајде да ја разгледаме. Нека имаме низа:

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. Последователно повикувајте го, додека елементите од колекцијата не завршат.