Panggilan Iterator dalam JavaScript

Setiap panggilan iterator berurutan harus mengembalikan objek dengan struktur khusus. Mari kita lihat strukturnya. Misalkan kita memiliki array:

javascriptlet arr = [1, 2, 3];

Dapatkan iterator array ke dalam variabel:

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

Sekarang dalam variabel ini berisi objek dengan metode next. Metode ini akan mengembalikan objek dengan kunci value, yang berisi nilai elemen, dan kunci done, yang berisi informasi tentang apakah iterasi telah selesai atau belum:

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

Panggilan berurutan metode next akan menghasilkan elemen berikutnya setiap kali:

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

Dan begitu elemennya habis, kita akan melihat nilai-nilai berikut:

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

Dapatkan iterator koleksi Map. Panggil secara berurutan, sampai elemen koleksi habis.

Задание 2

Dapatkan iterator koleksi NodeList. Panggil secara berurutan, sampai elemen koleksi habis.

Задание 3

Dapatkan iterator koleksi HTMLCollection. Panggil secara berurutan, sampai elemen koleksi habis.