Trys įtaisytieji iteratoriai JavaScript

Tiesą sakant, kiekvienas iteruojamas objektas turi ne vieną iteratorų, o tris: values, keys ir entries. Kiekvienam objektų tipui pagal nutylėjimą taikomas savas iteratorius. Masyvams - tai values, o, pavyzdžiui, kolekcijai Map, tai entries.

Žinodami tai, dabar galime taikyti šį principą bet kuriai kolekcijai. Pavyzdžiui, tarkime, kad turime Map kolekciją:

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

Pagal nutylėjimą šiai kolekcijai taikomas iteratorius entries:

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

Bet mes galime lengvai gauti mūsų kolekcijos raktus:

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

Taip pat galime gauti ir reikšmes:

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

Koks iteratorius pagal nutylėjimą veikia Set kolekcijoje?