JavaScript'te Iterator Çağrıları

Iterator'ün her ardışık çağrısı özel bir yapıya sahip nesne döndürmelidir. Hadi bu yapıyı inceleyelim. Bir dizimiz olduğunu varsayalım:

javascriptlet arr = [1, 2, 3];

Dizi iterator'ünü bir değişkene alalım:

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

Şimdi bu değişkende, next metodu olan bir nesne bulunmaktadır. Bu metod, elemanın değerini içeren value anahtarı ve elemanların tükenip tükenmediği bilgisini içeren done anahtarı olan bir nesne döndürecektir:

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

next metodunun ardışık çağrıları her seferinde bir sonraki elemanı verecektir:

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

Elemanlar tükendiği anda ise aşağıdaki değerleri göreceğiz:

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

Bir Map koleksiyonunun iterator'ünü alın. Koleksiyonun elemanları tükenene kadar onu ardışık olarak çağırın.

Задание 2

Bir NodeList koleksiyonunun iterator'ünü alın. Koleksiyonun elemanları tükenene kadar onu ardışık olarak çağırın.

Задание 3

Bir HTMLCollection koleksiyonunun iterator'ünü alın. Koleksiyonun elemanları tükenene kadar onu ardışık olarak çağırın.