Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: reduce, array, accumulator, functional programming, JavaScript

Как работает метод reduce?

Вопрос проверяет понимание метода reduce для агрегации данных в массиве и его применения в реальных задачах.

Короткий ответ

Метод reduce применяет функцию к каждому элементу массива, накапливая результат в одном значении. Он принимает два основных аргумента: функцию-редуктор и начальное значение аккумулятора. Функция получает текущий аккумулятор и элемент массива, возвращая новое значение аккумулятора. Это позволяет легко суммировать числа, объединять строки или группировать объекты.

Длинный ответ

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

Как работает reduce

Синтаксис метода: array.reduce(callback(accumulator, currentValue, index, array), initialValue). Первый аргумент — функция-колбэк, которая вызывается для каждого элемента. Второй аргумент (опциональный) — начальное значение аккумулятора. Если его не указать, аккумулятором станет первый элемент массива, а обработка начнётся со второго.

Примеры использования

Рассмотрим несколько практических примеров:

// 1. Сумма чисел в массиве
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 10

// 2. Поиск максимального значения
const max = numbers.reduce((acc, num) => Math.max(acc, num));
console.log(max); // 4

// 3. Группировка объектов по свойству
const items = [
  { category: 'fruit', name: 'apple' },
  { category: 'vegetable', name: 'carrot' },
  { category: 'fruit', name: 'banana' }
];
const grouped = items.reduce((acc, item) => {
  if (!acc[item.category]) acc[item.category] = [];
  acc[item.category].push(item.name);
  return acc;
}, {});
console.log(grouped); // { fruit: ['apple', 'banana'], vegetable: ['carrot'] }

Где применяется reduce

  • Агрегация данных: подсчёт сумм, средних значений, конкатенация строк.
  • Трансформация структур: преобразование массива в объект или другую коллекцию.
  • Сложные вычисления: например, композиция функций или реализация state management.

Вывод: Используйте reduce, когда нужно получить одно значение из массива через последовательную обработку элементов. Он особенно полезен в функциональном стиле и для сложных агрегаций, но для простых сумм или конкатенаций иногда подойдут более простые методы, такие как forEach или циклы.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#reduce

#array

#accumulator

#functional programming

#JavaScript

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию