Panggilan Iterator dalam JavaScript
Setiap panggilan iterator berurutan harus mengembalikan objek dengan struktur khusus. Mari kita lihat strukturnya. Misalkan kita memiliki array:
let arr = [1, 2, 3];
Dapatkan iterator array ke dalam variabel:
let 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:
console.log( iter.next() ); // {value: 1, done: false}
Panggilan berurutan metode next
akan menghasilkan elemen berikutnya
setiap kali:
console.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:
console.log( iter.next() ); // {value: undefined, done: true}
Dapatkan iterator koleksi Map.
Panggil secara berurutan,
sampai elemen koleksi habis.
Dapatkan iterator koleksi NodeList.
Panggil secara berurutan,
sampai elemen koleksi habis.
Dapatkan iterator koleksi HTMLCollection.
Panggil secara berurutan,
sampai elemen koleksi habis.