Trei iteratori încorporați în JavaScript

De fapt, fiecare obiect iterabil conține nu unul, ci trei iteratori: values, keys și entries. Pentru fiecare tip de obiect, în mod implicit, se aplică un iterator propriu. Pentru array-uri - acesta este values, iar, de exemplu, pentru colecția Map, acesta este entries.

Posedând aceste cunoștințe, putem acum aplica acest principiu la orice colecție. De exemplu, să presupunem că avem o colecție Map:

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

În mod implicit, pentru această colecție se aplică iteratorul entries:

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

Dar putem obține cu ușurință cheile colecției noastre:

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

De asemenea, putem obține și valorile:

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

Ce iterator acționează în mod implicit în colecția Set?