Следующий метод, который мы изучим, называется
forEach
. Он работает также, как и
метод map, только не возвращает измененный
массив, а просто вызывает функцию-коллбэк
для каждого элемента массива.
Посмотрим на примере. Пусть дан вот такой массив:
let arr = ['a', 'b', 'c', 'd', 'e'];
Давайте выведем столбец элементов массива:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.forEach(function(elem) {
document.write(elem + '<br>');
});
А теперь кроме элементов массива выведем
еще и их номера. Для этого сделаем вторую
переменную index
, в которую будут
попадать номера наших элементов:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.forEach(function(elem, index) {
document.write(index + '. ' + elem + '<br>');
});
Применение forEach
На первый взгляд кажется, что метод forEach
не очень полезен, так как ничего не возвращает.
На самом деле просто можно сделать переменную,
расположенную снаружи коллбэка:
let result; // внешняя переменная
arr.forEach(function(elem) {
// тут доступна переменная result
});
Используя этот прием найдем, к примеру, сумму элементов массива:
let arr = [1, 2, 3, 4, 5];
let sum = 0;
arr.forEach(function(elem) {
sum += elem;
});
console.log(sum);
Дан массив с числами. Используя метод forEach
найдите сумму квадратов элементов этого массива.
Замечания
Метод forEach
появился в JavaScript
раньше, чем новый цикл for-of
. По
сути, эти два способа перебора похожи, но
цикл for-of
имеет более простой синтаксис,
поэтому, скорее всего, чаще вы будете пользоваться
именно им.