Метод 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 ()