Iteratoranrop i JavaScript
Varje sekventiellt anrop av iteratorn bör returnera ett objekt med en speciell struktur. Låt oss titta på den. Låt oss säga att vi har en array:
let arr = [1, 2, 3];
Låt oss hämta arrayens iterator i en variabel:
let iter = arr[Symbol.iterator]();
Nu innehåller denna variabel ett objekt
med metoden next. Denna metod kommer att returnera
ett objekt med nyckeln value, som innehåller
värdet på elementet, och nyckeln done,
som innehåller information om huruvida
uppräkningen är avslutad eller inte:
console.log( iter.next() ); // {value: 1, done: false}
Sekventiella anrop av metoden next
kommer varje gång att ge nästa
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}
Och så snart elementen tar slut kommer vi att se följande värden:
console.log( iter.next() ); // {value: undefined, done: true}
Hämta iteratorn för samlingen Map.
Anropa den sekventiellt
tills elementen i samlingen tar slut.
Hämta iteratorn för samlingen NodeList.
Anropa den sekventiellt
tills elementen i samlingen tar slut.
Hämta iteratorn för samlingen HTMLCollection.
Anropa den sekventiellt
tills elementen i samlingen tar slut.