Iteratorkall i JavaScript
Hvert suksessivt kall til iteratoren skal returnere et objekt med en spesiell struktur. La oss se på den. La oss si at vi har en array:
let arr = [1, 2, 3];
La oss hente iteratoren til arrayen inn i en variabel:
let iter = arr[Symbol.iterator]();
Nå inneholder denne variabelen et objekt
med metoden next. Denne metoden vil returnere
et objekt med nøkkelen value, som inneholder
verdien til elementet, og nøkkelen done,
som inneholder informasjon om hvorvidt
gjennomgangen er ferdig eller ikke:
console.log( iter.next() ); // {value: 1, done: false}
Suksessive kall til metoden next
vil hver gang gi det neste
elementet:
console.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
Og så snart elementene er tomme, vil vi se følgende verdier:
console.log( iter.next() ); // {value: undefined, done: true}
Hent iteratoren til samlingen Map.
Kall den suksessivt
inntil elementene i samlingen er tomme.
Hent iteratoren til samlingen NodeList.
Kall den suksessivt
inntil elementene i samlingen er tomme.
Hent iteratoren til samlingen HTMLCollection.
Kall den suksessivt
inntil elementene i samlingen er tomme.