Метод редукции принимает функцию в качестве параметра, и эта функция должна принимать аккумулятор и текущий элемент.

Итак, в основном, действительно простой пример того, как использовать сокращение, таков:

Если бы мы запустили это в консоли разработчика Chrome, мы бы увидели это:

Как я уже упоминал, каждый элемент массива суммируется, а затем общая сумма становится доступной в переменной accumulationResult. Мы могли бы написать это как цикл for и получить точно такой же результат, если бы захотели, но это было бы больше кода:

И если бы мы запустили это для кода для цикла в консоли разработчика, мы бы увидели это:

Таким образом, это означает, что метод сокращения циклически перебирает значения в массиве — аналогично циклу for, но он может выполнять некоторые математические операции, такие как суммирование значений, хранить гораздо меньше переменных в коде и использовать гораздо меньше котлов. тарелка.

Преимущества метода Reduce в JavaScript

  • метод сокращения заключается в том, что он может обрабатывать элементы массива, которые не имеют значения. Технически приведенный выше цикл for рухнул бы, если бы было нулевое или неопределенное значение.
  • Методы Reduce обычно намного короче — и их гораздо легче понять.
  • Методы Reduce можно объединять в цепочку — циклы forEach и for не могут быть простыми, а это значит, что их нельзя использовать в функциональном программировании.

Первоначально опубликовано в Brian Cline.