Trīs iebūvētie iteratori JavaScript

Patiesībā katrs iterējamais objekts satur nevis vienu iteratoru, bet trīs: values, keys un entries. Katram objektu tipam pēc noklusējuma tiek izmantots savs iterators. Masīviem - tas ir values, bet, piemēram, kolekcijai Map, tas ir entries.

Zinot šo, mēs tagad varam piemērot šo principu jebkurai kolekcijai. Piemēram, pieņemsim, ka mums ir kolekcija Map:

javascriptlet map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);

Pēc noklusējuma šai kolekcijai tiek piemērots iterators entries:

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

Bet mēs viegli varam iegūt atslēgas mūsu kolekcijas:

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

Varam iegūt arī vērtības:

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

Kāds iterators pēc noklusējuma darbojas kolekcijā Set?