Drei eingebaute Iteratoren in JavaScript

Tatsächlich enthält jedes iterierbare Objekt nicht einen Iterator, sondern drei: values, keys und entries. Für jeden Objekttyp wird standardmäßig ein eigener Iterator verwendet. Für Arrays ist dies values, und zum Beispiel für die Sammlung Map ist es entries.

Mit diesem Wissen können wir jetzt dieses Prinzip auf jede Sammlung anwenden. Nehmen wir zum Beispiel an, wir haben eine Map-Sammlung:

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

Standardmäßig wird für diese Sammlung der Iterator entries verwendet:

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

Aber wir können leicht die Schlüssel unserer Sammlung erhalten:

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

Wir können auch die Werte erhalten:

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

Welcher Iterator wirkt standardmäßig in der Set-Sammlung?