Appels d'itérateur en JavaScript
Chaque appel séquentiel de l'itérateur doit renvoyer un objet d'une structure spéciale. Examinons-la. Prenons notre tableau :
let arr = [1, 2, 3];
Récupérons l'itérateur du tableau dans une variable :
let iter = arr[Symbol.iterator]();
Désormais, cette variable contient un objet
avec une méthode next. Cette méthode renverra
un objet avec une clé value, contenant
la valeur de l'élément, et une clé done,
contenant l'information indiquant si
le parcours est terminé ou non :
console.log( iter.next() ); // {value: 1, done: false}
L'appel séquentiel de la méthode next
donnera à chaque fois l'élément
suivant :
console.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
Et dès que les éléments seront épuisés, nous verrons les valeurs suivantes :
console.log( iter.next() ); // {value: undefined, done: true}
Obtenez l'itérateur de la collection Map.
Appelez-le séquentiellement,
jusqu'à ce que les éléments de la collection soient épuisés.
Obtenez l'itérateur de la collection NodeList.
Appelez-le séquentiellement,
jusqu'à ce que les éléments de la collection soient épuisés.
Obtenez l'itérateur de la collection HTMLCollection.
Appelez-le séquentiellement,
jusqu'à ce que les éléments de la collection soient épuisés.