Повикување на итератор во JavaScript
Секој последователен повик на итераторот треба да врати објект со специјална структура. Ајде да ја разгледаме. Нека имаме низа:
let arr = [1, 2, 3];
Да го добиеме итераторот на низата во променлива:
let iter = arr[Symbol.iterator]();
Сега во оваа променлива се наоѓа објект
со методот next. Овој метод ќе враќа
објект со клуч value, кој содржи
вредност на елементот, и клуч done,
кој содржи информација дали прелистувањето
завршило или не:
console.log( iter.next() ); // {value: 1, done: false}
Последователното повикување на методот next
ќе дава секој пат следен
елемент:
console.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
А штом елементите ќе завршат, ќе видиме следни вредности:
console.log( iter.next() ); // {value: undefined, done: true}
Добијте итератор на колекцијата Map.
Последователно повикувајте го,
додека елементите од колекцијата не завршат.
Добијте итератор на колекцијата NodeList.
Последователно повикувајте го,
додека елементите од колекцијата не завршат.
Добијте итератор на колекцијата HTMLCollection.
Последователно повикувајте го,
додека елементите од колекцијата не завршат.