JavaScript'dagi uchta o'rnatilgan iterator

Asilda har bir iteratsiya qilinadigan obyekt bitta iterator emas, balki uchtasini o'z ichiga oladi: values, keys va entries. Har bir turdagi obyektlar uchun standart bo'yicha o'z iterator qo'llaniladi. Massivlar uchun - bu values, masalan, Map kolleksiyasi uchun esa entries.

Bu bilimlar bilan, endi biz bu printsipni har qanday kolleksiyaga qo'llashimiz mumkin. Misol uchun, bizda Map kolleksiyasi bor:

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

Standart bo'yicha bu kolleksiya uchun entries iterator qo'llaniladi:

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

Lekin biz kolleksiyaning kalitlarini osonlik bilan olishimiz mumkin:

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

Shuningdek, qiymatlarni ham olishimiz mumkin:

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

Set kolleksiyasida standart bo'yicha qaysi iterator ishlaydi?