offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsSpItThII 72 of 294 menu

Три встроенных итератора в JavaScript

На самом деле каждый итерируемый объект содержит не один итератор, а три: values, keys и entries. Для каждого типа объектов по умолчанию применяется свой итератор. Для массивов - это values, а, например, для коллекции Map, это entries.

Обладая этими знаниями, мы теперь можем применить этот принцип к любой коллекции. Например, пусть у нас есть коллекция Map:

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

По умолчанию для этой коллекции применяется итератор entries:

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

Но мы легко можем получить ключи нашей коллекции:

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

Также можем получить и значения:

for (let elem of map.values()) { console.log(elem); // 1, 2, 3 }

Какой итератор по умолчанию действует в коллекции Set?

enru