Среди трех методов массива — Map, Filter и Reduce — самый запутанный метод.

Но сегодня я разобью его и упрощу для вас.

Синтаксис

reduce((previousValue, currentValue) => { } )

Давайте сначала проанализируем синтаксис.

постоянные числа = [1, 2, 3, 4, 5]

Уменьшение принимает два параметра: предыдущее значение и текущее значение. В приведенном выше примере предыдущее значение становится равным 1. Текущее значение становится равным 2, возвращаемое значение становится равным 3 и так далее.

Для справки проверьте изображение ниже.

Но проблема с приведенным выше синтаксисом заключается в том, что он выдает ошибку, если массив пуст.

Мы можем предотвратить это, передав начальное значение следующим образом:

reduce((previousValue, currentValue) => { }, initialValue )

Вы можете оставить начальное значение равным 0. В этом случае предыдущее значение станет равным 0, а текущее значение будет равно 1.

Если массив пуст и вы указываете начальное значение, он возвращает начальное значение без ошибки.

Полный синтаксис:

Метод сокращения принимает четыре параметра вместо двух. Но в большинстве случаев для получения результатов достаточно двух параметров.

Но полный синтаксис может быть полезен в определенных ситуациях.

reduce((previousValue, currentValue, currentIndex, array) => { }, initialValue)

Факты:

  1. Функция сокращения работает только с массивами.
  2. Он уменьшает массив до одного значения.
  3. Он не работает с пустыми массивами.
  4. Вы можете называть параметры как угодно. Например, (prev, curr), (acc, curr) (a, b), (x, y) и т. д. Но убедитесь, что вы понимаете, что они представляют.

Примеры:

Пример 1: добавление массива

Пример 2: вычитание массива

Здесь я опустил начальное значение, потому что оно изменяет результат массива. Например, если я оставлю начальное значение равным нулю, результат будет следующим:

Но, если вам нужно вычесть массив из некоторого значения, укажите его в качестве начального значения.

Примечание. Вы можете использовать пустой массив вместо начального значения, чтобы избежать ошибки типа.

Пример 3: Умножение массива

Здесь вместо 0 используйте 1, потому что 0, умноженный на что-либо, равен нулю. Начальное значение просто здесь, чтобы избежать ошибки, если массив пуст.

Итак, убедитесь, что вы понимаете, как работает массив с начальным значением или без него.

Функция для вычисления факториала числа:

Вот пример с циклом for:

Вот пример с рекурсивной функцией (мы узнаем, что это такое в следующих статьях)

Заключительные слова:

Подводя итог, сокращение работает только с массивами и возвращает одно значение.

Надеюсь, вы понимаете, как работает сокращение и когда его использовать.

Следите за этой статьей, я обновлю ее, когда найду что-нибудь интересное о методе сокращения.

Если вы дочитали до этого момента, рассмотрите возможность подписки на мою рассылку, чтобы получать статьи, подобные этой.

Первоначально опубликовано на https://codingkiran.hashnode.dev.