Метод JavaScript Array reduce()

Определение и использование

reduce() Метод сокращает массив до одного значения.

reduce() Метод выполняет предоставленную функцию для каждого значения массива (слева направо).

Возврат функции хранится в накопителе (результат/итого).

Комментарий:Для элементов массива без значений не выполняется reduce() Метод.

Комментарий:reduce() Метод не изменяет исходный массив.

Пример

Пример 1

От начальной точки вычесть числа из массива:

var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {}}
  return total - num;
}

Попробуйте сами

Пример 2

Округлите все числа в массиве и покажите сумму:

<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>

Попробуйте сами

Грамматика

массив.reduce(function(total, currentValue, currentIndex, arr) initialValue)

значение параметра

Параметры Описание
function(total, currentValue, index, arr) Обязателен. Функция, выполняемая для каждого элемента массива.

Параметры функции:

Параметры Описание
total Обязателен. initialValue или значение, возвращенное функцией ранее.
currentValue Обязателен. Значение текущего элемента.
index Опционально. Индекс массива текущего элемента.
arr Опционально. Объект массива, к которому принадлежит текущий элемент.
initialValue Опционально. Значение, переданное в функцию в качестве начального значения.

Технические детали

Возврат значения: Возвращает накопленный результат последнего вызова回调-функции.
Версия JavaScript: ECMAScript 5

Поддержка браузеров

Числа в таблице указывают на первую версию браузера, которая полностью поддерживает этот метод.

Все браузеры полностью поддерживают этот метод reduce() Метод:

Chrome IE Edge Firefox Safari Opera
Chrome 3 IE 9 Edge 12 Firefox 3 Safari 5 Opera 10.5
2009 год 6 месяц 2010 год 9 месяц 2015 год 7 месяц 2009 год 1 месяц 2010 год 6 месяц 2010 год 3 месяц

связанные страницы

Учебник:JavaScript массив

Учебник:Константа массива JavaScript

Учебник:Методы массива JavaScript

Учебник:Сортировка массива JavaScript

Учебник:Итерация массива JavaScript

Руководство:Метод Array.reduceRight()