Массив : метод уменьшения (как он работает и его применение)

Введение

Как следует из названия, мы собираемся обсудить один из наиболее широко используемых методов работы с массивами: reduce.

Само слово reduce описывает, что он уменьшает входное значение до одного выходного значения. Давайте посмотрим, как это работает!


  • Он выполняет итерацию над каждым элементом массива слева направо.
  • Он принимает функцию обратного вызова, которая имеет следующие параметры accumulator, currentvalue, index, array и необязательное начальное значение. (хотя оно необязательно, но лучше его использовать).

  • Синтаксис

reduce(function(accumulator, currentValue, index, array) {
   /* function-body */
}, initialValue)
Войти в полноэкранный режим Выход из полноэкранного режима

аккумулятор (a) — это возвращаемое значение в последней итерации или начальное значение

currentvalue (c) — это значение текущего элемента в текущей итерации

индекс — индекс текущей итерации

array — входной массив, к которому мы применяем функцию reduce

initialValue — начальное значение, которое будет возвращено в аккумулятор в самой первой итерации.


Теперь достаточно теории, давайте рассмотрим пример. В этом примере мы собираемся вычислить сумму всех чисел, заданных в массиве чисел.

let arr = [ 1, 2 ,3,4,5,6,7,8,9,10];
const sum = arr.reduce((accumulator,currentvalue) => accumulator + currentvalue,0);
console.log("Sum : ",sum);
Вход в полноэкранный режим Выйти из полноэкранного режима
  • В приведенном выше примере на первой итерации значение аккумулятора равно начальному значению, т.е. 0, а текущее значение равно 1.

  • Таким образом, возвращается 0 плюс 1, в результате чего получается 1, и значение аккумулятора становится равным 1 (так как мы предусмотрели логику сложения).

  • Теперь на следующей итерации значение аккумулятора равно 1, а текущее значение равно 2, поэтому следующее значение аккумулятора приводит к их сложению как 3.

  • Так продолжается до последней итерации, после чего значения аккумуляторов возвращаются.

  • Обратите внимание, что внутри тела функции мы можем представить любую логику, которая нам необходима. Кроме того, мы можем задать любое начальное значение.


Некоторые практические примеры использования функции reduce: :

  • создание строки из массива символов.

  • Найти максимальное значение в заданном массиве чисел

  • Найти массив имен для заданного массива сотрудников, возраст которых > 40 лет

  • Найти частоту пользователей одного возраста из заданного массива.

Спасибо, что заглянули. Если вы нашли эту статью полезной, поделитесь ею. Вы можете связаться со мной здесь: linkedin

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *