Три уграђена итератора у ЈаваСкрипту

У ствари, сваки објекат који се може итерирати садржи не један итератор, већ три: values, keys и entries. За сваки тип објеката по дефаулту се примењује сопствени итератор. За низове - то је values, а, на пример, за колекцију Map, то је entries.

Поседујући ова знања, сада можемо применити овај принцип на било коју колекцију. На пример, нека имамо колекцију 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?