Panggilan Iterator dalam JavaScript
Setiap panggilan berurutan iterator hendaklah memulangkan objek dengan struktur khas. Mari kita lihat strukturnya. Katakan kita mempunyai satu array:
let arr = [1, 2, 3];
Dapatkan iterator array ke dalam pembolehubah:
let iter = arr[Symbol.iterator]();
Sekarang dalam pembolehubah ini mengandungi objek
dengan kaedah next. Kaedah ini akan memulangkan
objek dengan kunci value, yang mengandungi
nilai elemen, dan kunci done,
yang mengandungi maklumat tentang sama ada
lelaran telah tamat atau belum:
console.log( iter.next() ); // {value: 1, done: false}
Panggilan berurutan kaedah next
akan memberikan elemen seterusnya
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 sebaik sahaja elemen habis, kita akan melihat nilai berikut:
console.log( iter.next() ); // {value: undefined, done: true}
Dapatkan iterator bagi koleksi Map.
Panggilnya secara berurutan,
sehingga elemen koleksi habis.
Dapatkan iterator bagi koleksi NodeList.
Panggilnya secara berurutan,
sehingga elemen koleksi habis.
Dapatkan iterator bagi koleksi HTMLCollection.
Panggilnya secara berurutan,
sehingga elemen koleksi habis.