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:
let arr = [1, 2, 3];
Le të marrim iteratorin e array-it në një variabël:
let 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:
console.log( iter.next() ); // {value: 1, done: false}
Thirrja e njëpasnjëshme e metodës next
do të japë çdo herë elementin
vijues:
console.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:
console.log( iter.next() ); // {value: undefined, done: true}
Merrni iteratorin e koleksionit Map.
Thirreni atë në mënyrë të njëpasnjëshme,
derisa të mbarojnë elementët e koleksionit.
Merrni iteratorin e koleksionit NodeList.
Thirreni atë në mënyrë të njëpasnjëshme,
derisa të mbarojnë elementët e koleksionit.
Merrni iteratorin e koleksionit HTMLCollection.
Thirreni atë në mënyrë të njëpasnjëshme,
derisa të mbarojnë elementët e koleksionit.