Thirrjet e iteratorit në JavaScript

Çdo thirrje e njëpasnjëshme e iteratorit duhet të kthejë një objekt të një strukture të veçantë. Le ta shqyrtojmë atë. Le të themi se kemi një array:

javascriptlet arr = [1, 2, 3];

Le të marrim iteratorin e array-it në një variabël:

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

Tani në këtë variabël gjendet një objekt me metodën next. Kjo metodë do të kthejë një objekt me çelësin value, që përmban vlerën e elementit, dhe çelësin done, që përmban informacionin nëse ka mbaruar shqyrtimi apo jo:

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

Thirrja e njëpasnjëshme e metodës next do të japë çdo herë elementin vijues:

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

Posa të mbarojnë elementët, ne do të shohim vlerat e mëposhtme:

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

Merrni iteratorin e koleksionit Map. Thirreni atë në mënyrë të njëpasnjëshme, derisa të mbarojnë elementët e koleksionit.

Задание 2

Merrni iteratorin e koleksionit NodeList. Thirreni atë në mënyrë të njëpasnjëshme, derisa të mbarojnë elementët e koleksionit.

Задание 3

Merrni iteratorin e koleksionit HTMLCollection. Thirreni atë në mënyrë të njëpasnjëshme, derisa të mbarojnë elementët e koleksionit.