JavaScript reduce()
Пример
Вычтите числа в массиве, начиная с самого начала:
var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML
= numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
Попробуйте сами »
Больше примеров "Попробуйте сами" ниже.
Определение и использование
Метод reduce()
уменьшает массив до одного значения.
Метод reduce()
выполняет предоставленную функцию для каждого значения массива (слева направо).
Возвращаемое значение функции хранится в накопителе (результат/итог).
Примечание: reduce()
не выполняет функцию для элементов массива без значений.
Примечание: этот метод не изменяет исходный массив.
Поддержка браузера
Цифры в таблице указывают первую версию браузера, которая полностью поддерживает этот метод.
Метод | |||||
---|---|---|---|---|---|
reduce() | Да | 9.0 | 3.0 | 4 | 10.5 |
Синтаксис
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
Значения параметров
Параметр | Описание | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | Требуемый. Функция, выполняемая для каждого элемента массива. Аргументы функции:
|
||||||||||
initialValue | Необязательный. Значение, которое должно быть передано функции в качестве начального значения |
Технические детали
Возвращаемое значение: | Возвращает накопленный результат последнего вызова функции обратного вызова |
---|---|
Версия JavaScript: | ECMAScript 5 |
Еще примеры
Пример
Округлите все числа в массиве и выведите сумму:
<button onclick="myFunction()">Попробовать</button>
<p>Сумма чисел в массиве: <span id="demo"></span></p>
<script>
var numbers = [15.5, 2.3, 1.1, 4.7];
function getSum(total, num) {
return total + Math.round(num);
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
</script>
Попробуйте сами »
Связанные страницы
JavaScript учебник: JavaScript Массивы
JavaScript учебник: JavaScript Итерация
JavaScript справочник: JavaScript reduceRight() Метод