JavaScriptдаги учта ўрнатилган итераторлар

Аслича ҳар бир итерация қилинувчи объект бирта эмас, балки учта итераторни ўз ичига олади: values, keys ва entries. Ҳар бир турдаги объектлар учун сустки ҳолда ўзига хос итератор қўлланилади. Массивлар учун - бу values, ва, масалан, Map коллекцияси учун, бу entries.

Бу билимларга эга бўлганимиз билан, энди биз бу принципни istalgan коллекцияга қўллашимиз мумкин. Мисол учун, бизда Map коллекцияси мавжуд дейлик:

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

Сустки ҳолда бу коллекция учун entries итератори қўлланилади:

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

Лекин биз осонгина коллекциянинг калитларини олишимиз мумкин:

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

Шунингдек, қийматларни ҳам олишимиз мумкин:

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

Set коллекциясида сустки ҳолда қандай итератор амал қилади?