Часто нам нужно уменьшить массив до одного из многих примитивных типов Javascript, таких как число, строка, логическое значение, объект, другой массив (мы увидим некоторые примеры этого позже) или даже пользовательский тип. определено в нашем проекте. Javascript reduce () - это встроенный метод массива, который выполняет функцию обратного вызова, известную как reducer, для каждого элемента массива и приводит к единственному выходному значению. Метод reduce () выполняет функцию для каждого значения массива (непустого массива) слева направо.

Метод reduce () имеет следующий синтаксис:

let arr = [];
arr.reduce(callback(acc, curVal, index, src), initVal);

Параметры:

  1. Аккумулятор (соотв.)
  2. Текущее значение (curVal)
  3. Текущий индекс (индекс)
  4. Исходный массив (src)
  5. Начальное значение (initVal)

Аккумулятор | обязательно: это накопленное значение, ранее возвращенное функцией, или начальное значение, если оно было предоставлено.

Текущее значение | обязательно: это значение текущего элемента в массиве.

Текущий индекс | необязательно: это индекс текущего элемента в массиве.

Исходный массив | необязательно: это объект массива, к которому был вызван метод reduce ().

Начальное значение | необязательно: это начальное значение, передаваемое в функцию. Если начальное значение не указано, первый элемент в массиве будет использоваться как начальное значение аккумулятора, а второй элемент станет текущим значением.

Примечание. Если в массиве только один элемент и не указано начальное значение, или если начальное значение указано, но массив пуст, будет возвращен единственный элемент без вызова обратный вызов. Вызов метода reduce () для пустого массива без начального значения вызовет ошибку TypeError.

Рабочие примеры

  1. Давайте попробуем уменьшить массив массивов до одномерного массива.

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

2. Угадайте, что? Это работает и с массивом объектов! Метод выполняет обратный вызов для элементов массива независимо от их типа.

В этом примере массив объектов сокращается до одной строки, сопоставляя элемент с количеством

Заключение

Хотя метод reduce () может показаться запутанным на первый взгляд, логика проста: уменьшить массив до одного значения путем итерации по массиву с помощью функции обратного вызова.

Дальнейшее чтение

Чтобы получить больше информации о различных способах использования метода reduce (), ознакомьтесь с Методом сокращения в Javascript или Веб-документом MDN.

Не стесняйтесь оставлять свои комментарии и предложения. Давайте продолжим разговор! Вы также можете ознакомиться с другой моей статьей о выравнивании массивов.