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

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

Вот несколько методов, связанных с функцией reduce()в JavaScript:

  1. reduce(callbackFn, InitialValue): это базовый синтаксис метода reduce(). В качестве первого аргумента он принимает функцию обратного вызова, которая выполняется для каждого элемента массива. Функция обратного вызова принимает четыре параметра: аккумулятор, текущее значение, текущий индекс и сам массив. Параметр initialValueявляется необязательным и представляет начальное значение аккумулятора.

  2. Использование метода reduce()для суммирования элементов массива:

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 15
  1. Использование метода reduce()для поиска максимального значения в массиве:
const numbers = [10, 5, 20, 15, 30];
const max = numbers.reduce((accumulator, currentValue) => Math.max(accumulator, currentValue));
console.log(max); // Output: 30
  1. Использование метода reduce()для выравнивания массива массивов:
const arrays = [[1, 2], [3, 4], [5, 6]];
const flattened = arrays.reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
console.log(flattened); // Output: [1, 2, 3, 4, 5, 6]
  1. Использование метода reduce()для группировки объектов по свойству:
const people = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Charlie', age: 25 },
];
const grouped = people.reduce((accumulator, currentValue) => {
  const key = currentValue.age;
  if (!accumulator[key]) {
    accumulator[key] = [];
  }
  accumulator[key].push(currentValue.name);
  return accumulator;
}, {});
console.log(grouped);
// Output: { 25: ['Alice', 'Charlie'], 30: ['Bob'] }