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:
let arr = [1, 2, 3];
Holen wir uns den Iterator des Arrays in eine Variable:
let 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:
console.log( iter.next() ); // {value: 1, done: false}
Jeder aufeinanderfolgende Aufruf der Methode next
wird jedes Mal das nächste
Element liefern:
console.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:
console.log( iter.next() ); // {value: undefined, done: true}
Holen Sie sich den Iterator der Map-Sammlung.
Rufen Sie ihn sequenziell auf,
bis die Elemente der Sammlung ausgehen.
Holen Sie sich den Iterator der NodeList-Sammlung.
Rufen Sie ihn sequenziell auf,
bis die Elemente der Sammlung ausgehen.
Holen Sie sich den Iterator der HTMLCollection-Sammlung.
Rufen Sie ihn sequenziell auf,
bis die Elemente der Sammlung ausgehen.