Tiga Iterator Bawaan dalam JavaScript
Sebenarnya, setiap objek yang dapat diiterasi
mengandung bukan hanya satu iterator, tetapi tiga:
values, keys dan entries.
Untuk setiap jenis objek, secara default diterapkan
iterator-nya sendiri. Untuk array - ini adalah values,
dan, misalnya, untuk koleksi Map,
ini adalah entries.
Dengan pengetahuan ini, kita sekarang dapat
menerapkan prinsip ini ke koleksi apa pun.
Misalnya, kita memiliki koleksi Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Secara default untuk koleksi ini diterapkan
iterator entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Tetapi kita dapat dengan mudah mendapatkan kunci dari koleksi kita:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Kita juga bisa mendapatkan nilainya:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Iterator default mana yang berlaku pada koleksi Set?