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:

javascriptlet 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:

javascriptfor (let elem of map) {
  console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}

Men vi kan enkelt få nycklarna i vår samling:

javascriptfor (let elem of map.keys()) {
  console.log(elem); // 'a', 'b', 'c'
}

Vi kan också få värdena:

javascriptfor (let elem of map.values()) {
  console.log(elem); // 1, 2, 3
}
Задание 1

Vilken iterator är standard för samlingen Set?