Вычесть все числа в массиве:
const numbers = [175, 50, 25];
document.getElementById("demo").innerHTML
= numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
Попробуйте сами »
Округлите все числа и отобразите сумму:
const numbers = [15.5, 2.3, 1.1, 4.7];
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
function getSum(total, num) {
return total + Math.round(num);
}
Попробуйте сами »
Описание
Метод reduce() выполняет функцию преобразования для элемента массива.
Метод reduce() возвращает одно значение: накопленный результат функции.
Метод reduce() не выполняет функцию для пустых элементов массива.
Метод reduce() не меняет исходный массив.
Примечание
При первом обратном вызове нет возвращаемого значения предыдущего обратного вызова.
Обычно в качестве начального значения используется элемент массива 0, а итерация начинается с элемента массива 1.
Если указано начальное значение, оно используется, и итерация начинается с элемента массива 0.
См. также:
Синтаксис
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
Параметры
| Параметр | Описание | ||||||||
| function() | Необходимый. Функция, запускаемая для каждого элемента массива. |
||||||||
Параметры функции Reducer:
| |||||||||
| initialValue | Необязательный. Значение должно быть передано в функцию как начальное значение. |
||||||||
Возвращаемое значение
| Накопленный результат последнего вызова функции обратного вызова. |
Учебники по массивам:
Поддержка браузера
reduce() — это функция ECMAScript5 (ES5).
ES5 (JavaScript 2009) полностью поддерживается во всех современных браузерах с июля 2013 года:
| Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
| Sep 2012 | Sep 2012 | Apr 2013 | Jul 2012 | Jul 2013 |