Iteratoriaus iškvietimai JavaScript
Kiekvienas nuoseklus iteratoriaus iškvietimas turi grąžinti specialios struktūros objektą. Pažiūrėkime į šią struktūrą. Tarkime, kad turime masyvą:
let arr = [1, 2, 3];
Gaukime masyvo iteratoriaus kintamąjį:
let iter = arr[Symbol.iterator]();
Dabar šiame kintamajame yra objektas
su metodu next. Šis metodas grąžins
objektą su raktu value, kuriame yra
elemento reikšmė, ir raktu done,
kuriame yra informacija, ar perėjimas
jau baigėsi, ar ne:
console.log( iter.next() ); // {value: 1, done: false}
Nuoseklus metodo next iškvietimas
kiekvieną kartą pateiks kitą
elementą:
console.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
O kai tik elementai baigsis, pamatysime tokias reikšmes:
console.log( iter.next() ); // {value: undefined, done: true}
Gaukite Map kolekcijos iteratoriaus.
Nuosekliai jį iškvieskite,
kol kolekcijos elementai nesibaigs.
Gaukite NodeList kolekcijos iteratoriaus.
Nuosekliai jį iškvieskite,
kol kolekcijos elementai nesibaigs.
Gaukite HTMLCollection kolekcijos iteratoriaus.
Nuosekliai jį iškvieskite,
kol kolekcijos elementai nesibaigs.