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