arr.forEach(callback[, thisArg]) - для каждого элемента массива вызывает функцию callback. Ничего не возвращает. В функцию попадают три параметра:
-
item – очередной элемент массива.
-
i – его номер.
-
arr – массив, который перебирается.
var arr = ["Яблоко", "Апельсин", "Груша"]; arr.forEach(function(item, i, arr) { alert( i + ": " + item + " (массив:" + arr + ")" ); });
thisArg - необязательный параметр, контекст this для callback
arr.filter(callback[, thisArg]) - создаёт новый массив, в который войдут только те элементы arr
, для которых вызов callback(item, i, arr)
возвратит true
.
arr.map(callback[, thisArg]) - создаёт новый массив, который будет состоять из результатов вызова callback(item, i, arr)
для каждого элемента arr.
Эти методы используются для проверки массива.
arr.every(callback[, thisArg]) возвращает true
, если вызов callback вернёт true
для каждого элемента arr.
arr.some(callback[, thisArg]) возвращает true
, если вызов callback вернёт true
для какого-нибудь элемента arr.
Последовательная обработка каждого элемента массива с сохранением промежуточного результата. reduce/reduceRight
arr.reduce(callback[, initialValue])
Применяет функцию callback по очереди к каждому элементу массива слева направо, сохраняя при этом промежуточный результат.
Аргументы функции callback(previousValue, currentItem, index, arr):
- previousValue – последний результат вызова функции, он же «промежуточный результат».
- currentItem – текущий элемент массива, элементы перебираются по очереди слева направо.
- index – номер текущего элемента.
- arr – обрабатываемый массив.
initialValue если он есть, то на первом вызове значение previousValue будет равно initialValue, а если у reduce нет второго аргумента, то оно равно первому элементу массива, а перебор начинается со второго.
Пример:
var arr = [1, 2, 3, 4, 5]
// убрали 0 в конце
var result = arr.reduce(function(sum, current) {
return sum + current
});
alert( result ); // 15
Метод arr.reduceRight работает аналогично, но идёт по массиву справа-налево.