Метод reduce()в JavaScript используется для сведения элементов массива к одному значению. Он перебирает каждый элемент массива и применяет функцию обратного вызова для накопления результата.
Вот несколько методов, связанных с функцией reduce()в JavaScript:
-
reduce(callbackFn, InitialValue): это базовый синтаксис методаreduce(). В качестве первого аргумента он принимает функцию обратного вызова, которая выполняется для каждого элемента массива. Функция обратного вызова принимает четыре параметра: аккумулятор, текущее значение, текущий индекс и сам массив. ПараметрinitialValueявляется необязательным и представляет начальное значение аккумулятора. -
Использование метода
reduce()для суммирования элементов массива:
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 15
- Использование метода
reduce()для поиска максимального значения в массиве:
const numbers = [10, 5, 20, 15, 30];
const max = numbers.reduce((accumulator, currentValue) => Math.max(accumulator, currentValue));
console.log(max); // Output: 30
- Использование метода
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]
- Использование метода
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'] }