Кратко
Секция статьи "Кратко"Метод forEach
используется для обхода элементов коллекции Set
. Обход происходит в порядке добавления значений в коллекцию от старых к новым.
Метод работает идентично одноимённому методу массива.
Пример
Секция статьи "Пример"const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])watchList.forEach(function(value) { console.log(`Нужно посмотреть «${value}»`)})// Нужно посмотреть «Сияние»// Нужно посмотреть «Интерстеллар»// Нужно посмотреть «Казино»
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) watchList.forEach(function(value) { console.log(`Нужно посмотреть «${value}»`) }) // Нужно посмотреть «Сияние» // Нужно посмотреть «Интерстеллар» // Нужно посмотреть «Казино»
Как пишется
Секция статьи "Как пишется"Метод принимает два аргумента:
1️⃣ колбэк-функцию, которую нужно выполнить на каждом элементе коллекции. Функция может использовать до трёх параметров, их можно опускать, если они не нужны:
- текущее значение;
- текущее значение (в массиве на втором месте идёт индекс, но
Set
неиндексированная коллекция. Для совместимости решили дважды возвращать значение); - коллекция, которая обходится.
2️⃣ значение, которое будет использоваться как this
внутри функции
Использование всех параметров выглядит так:
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])watchList.forEach(function(value, value2, s) { console.log(`${this.name}, нужно посмотреть «${value}»`)}, {name: 'Евген'})// Евген, нужно посмотреть «Сияние»// Евген, нужно посмотреть «Интерстеллар»// Евген, нужно посмотреть «Казино»
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) watchList.forEach(function(value, value2, s) { console.log(`${this.name}, нужно посмотреть «${value}»`) }, {name: 'Евген'}) // Евген, нужно посмотреть «Сияние» // Евген, нужно посмотреть «Интерстеллар» // Евген, нужно посмотреть «Казино»
Такая запись не используется почти никогда, предпочтение отдаётся короткой записи, описанной в стартовом примере.