Κλήσεις Επαναλήπτη στη JavaScript

Κάθε διαδοχική κλήση ενός επαναλήπτη πρέπει να επιστρέφει ένα αντικείμενο ειδικής δομής. Ας την εξετάσουμε. Ας υποθέσουμε ότι έχουμε έναν πίνακα:

javascriptlet arr = [1, 2, 3];

Ας πάρουμε τον επαναλήπτη του πίνακα σε μια μεταβλητή:

javascriptlet iter = arr[Symbol.iterator]();

Τώρα αυτή η μεταβλητή περιέχει ένα αντικείμενο με μια μέθοδο next. Αυτή η μέθοδος θα επιστρέφει ένα αντικείμενο με το κλειδί value, που περιέχει την τιμή του στοιχείου, και το κλειδί done, που περιέχει πληροφορίες σχετικά με το αν έχει ολοκληρωθεί η διάσχιση ή όχι:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}

Η διαδοχική κλήση της μεθόδου next θα εκδίδει κάθε φορά το επόμενο στοιχείο:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}

Και μόλις τα στοιχεία εξαντληθούν, θα δούμε τις ακόλουθες τιμές:

javascriptconsole.log( iter.next() ); // {value: undefined, done: true}
Задание 1

Πάρτε τον επαναλήπτη της συλλογής Map. Καλέστε τον διαδοχικά, μέχρι να εξαντληθούν τα στοιχεία της συλλογής.

Задание 2

Πάρτε τον επαναλήπτη της συλλογής NodeList. Καλέστε τον διαδοχικά, μέχρι να εξαντληθούν τα στοιχεία της συλλογής.

Задание 3

Πάρτε τον επαναλήπτη της συλλογής HTMLCollection. Καλέστε τον διαδοχικά, μέχρι να εξαντληθούν τα στοιχεία της συλλογής.