Κλήσεις Επαναλήπτη στη JavaScript
Κάθε διαδοχική κλήση ενός επαναλήπτη πρέπει να επιστρέφει ένα αντικείμενο ειδικής δομής. Ας την εξετάσουμε. Ας υποθέσουμε ότι έχουμε έναν πίνακα:
let arr = [1, 2, 3];
Ας πάρουμε τον επαναλήπτη του πίνακα σε μια μεταβλητή:
let iter = arr[Symbol.iterator]();
Τώρα αυτή η μεταβλητή περιέχει ένα αντικείμενο
με μια μέθοδο next. Αυτή η μέθοδος θα επιστρέφει
ένα αντικείμενο με το κλειδί value, που περιέχει
την τιμή του στοιχείου, και το κλειδί done,
που περιέχει πληροφορίες σχετικά με το αν έχει ολοκληρωθεί
η διάσχιση ή όχι:
console.log( iter.next() ); // {value: 1, done: false}
Η διαδοχική κλήση της μεθόδου next
θα εκδίδει κάθε φορά το επόμενο
στοιχείο:
console.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}
Και μόλις τα στοιχεία εξαντληθούν, θα δούμε τις ακόλουθες τιμές:
console.log( iter.next() ); // {value: undefined, done: true}
Πάρτε τον επαναλήπτη της συλλογής Map.
Καλέστε τον διαδοχικά,
μέχρι να εξαντληθούν τα στοιχεία της συλλογής.
Πάρτε τον επαναλήπτη της συλλογής NodeList.
Καλέστε τον διαδοχικά,
μέχρι να εξαντληθούν τα στοιχεία της συλλογής.
Πάρτε τον επαναλήπτη της συλλογής HTMLCollection.
Καλέστε τον διαδοχικά,
μέχρι να εξαντληθούν τα στοιχεία της συλλογής.