Метод forEach позволяет последовательно перебрать все элементы массива.

Метод в параметре получает функцию, которая выполнится для каждого элемента массива. В эту функцию можно передавать 3 параметра.

Если эти параметры есть (они не обязательны), то в первый положится элемент массива, во второй - его номер в массиве (индекс), а в третий - сам массив.

См. также цикл for, filter, map, some, every, reduce, reduceRight.

Синтаксис

массив.forEach(function(элемент, индекс, массив) {
	код, который выполнится для всех элементов
});

Примеры

Пример

Давайте выведем столбец элементов массива. Для этого в анонимную функцию передадим первый параметр elem (назвать его можно как угодно). В эту переменную последовательно будут попадать элементы массива:

var arr = ['a', 'b', 'c', 'd', 'e'];

arr.forEach(function(elem) {
	document.write(elem + '<br>');
});

Результат выполнения кода:

a
b
c
d
e

Пример

Давайте теперь кроме элементов массива выведем еще и их номера. Для этого сделаем вторую переменную index, в которую будут попадать номера наших элементов:

var arr = ['a', 'b', 'c', 'd', 'e'];

arr.forEach(function(elem, index) {
	document.write(index + '. ' + elem + '<br>');
});

Результат выполнения кода:

0. a
1. b
2. c
3. d
3. e

Пример

При необходимости в третий параметр можно передать сам массив:

var arr = ['a', 'b', 'c', 'd', 'e'];

arr.forEach(function(elem, index, arr) {
	тут будет доступен массив arr
});

Пример . Применение

Дан массив. Давайте найдем сумму элементов этого массива:

var arr = [1, 2, 3, 4, 5];
var sum = 0;

arr.forEach(function(elem) {
	sum += elem;
});

document.write(sum);

Результат выполнения кода:

15