Метод JavaScript Array forEach () выполняет предоставленную функцию для каждого элемента массива.
Синтаксис forEach()метода:
arr.forEach(callback(currentValue), thisArg)
Здесь arr - это массив.
Параметры forEach ()
forEach()Метод принимает в:
- callback - функция, выполняемая для каждого элемента массива. Он принимает:
- currentValue - текущий элемент, передаваемый из массива.
- thisArg (необязательно) - значение, которое будет использоваться
thisпри выполнении обратного вызова. По умолчанию это такundefined.
Возвращаемое значение из forEach ()
- Возврат
undefined.
Примечания :
forEach()не меняет исходный массив.forEach()выполняетсяcallbackодин раз для каждого элемента массива по порядку.forEach()не выполняетсяcallbackдля элементов массива без значений.
Пример 1: Печать содержимого массива
function printElements(element, index) ( console.log('Array Element ' + index + ': ' + element); ) const prices = (1800, 2000, 3000, , 5000, 500, 8000); // forEach does not execute for elements without values // in this case, it skips the third element as it is empty prices.forEach(printElements);
Вывод
Элемент массива 0: 1800 Элемент массива 1: 2000 Элемент массива 2: 3000 Элемент массива 4: 5000 Элемент массива 5: 500 Элемент массива 6: 8000
Пример 2: Использование thisArg
function Counter() ( this.count = 0; this.sum = 0; this.product = 1; ) Counter.prototype.execute = function (array) ( array.forEach((entry) => ( this.sum += entry; ++this.count; this.product *= entry; ), this) ) const obj = new Counter(); obj.execute((4, 1, , 45, 8)); console.log(obj.count); // 4 console.log(obj.sum); // 58 console.log(obj.product); // 1440
Вывод
4 58 1440
Здесь мы снова видим, что forEachпропускается пустой элемент. thisArgпередается как thisвнутри определения executeметода объекта Counter.
Рекомендуемая литература: JavaScript Array map ()








