Кратко
СкопированоМетод for используется для обхода элементов коллекции 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: 'Евген'})
// Евген, нужно посмотреть «Сияние»
// Евген, нужно посмотреть «Интерстеллар»
// Евген, нужно посмотреть «Казино»
Такая запись не используется почти никогда, предпочтение отдаётся короткой записи, описанной в стартовом примере.