Iterator-Aufrufe in JavaScript

Jeder aufeinanderfolgende Aufruf des Iterators sollte ein Objekt einer speziellen Struktur zurückgeben. Lassen Sie uns diese betrachten. Nehmen wir an, wir haben ein Array:

javascriptlet arr = [1, 2, 3];

Holen wir uns den Iterator des Arrays in eine Variable:

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

Nun enthält diese Variable ein Objekt mit der Methode next. Diese Methode wird ein Objekt mit dem Schlüssel value, der den Wert des Elements enthält, und dem Schlüssel done, der die Information enthält, ob der Durchlauf beendet ist oder nicht, zurückgeben:

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

Jeder aufeinanderfolgende Aufruf der Methode next wird jedes Mal das nächste Element liefern:

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

Und sobald die Elemente ausgehen, werden wir die folgenden Werte sehen:

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

Holen Sie sich den Iterator der Map-Sammlung. Rufen Sie ihn sequenziell auf, bis die Elemente der Sammlung ausgehen.

Задание 2

Holen Sie sich den Iterator der NodeList-Sammlung. Rufen Sie ihn sequenziell auf, bis die Elemente der Sammlung ausgehen.

Задание 3

Holen Sie sich den Iterator der HTMLCollection-Sammlung. Rufen Sie ihn sequenziell auf, bis die Elemente der Sammlung ausgehen.