Tre inbyggda iteratorer i JavaScript
Faktum är att varje itererbart objekt
innehåller inte en iterator, utan tre:
values, keys och entries.
För varje typ av objekt används som standard
sin egen iterator. För arrayer är det values,
medan det till exempel för samlingen Map,
är entries.
Med denna kunskap kan vi nu
tillämpa denna princip på vilken samling som helst.
Till exempel, låt oss säga att vi har en samling Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Som standard för denna samling används
iteratorn entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Men vi kan enkelt få nycklarna i vår samling:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Vi kan också få värdena:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Vilken iterator är standard för samlingen Set?