Что выведет console.log при работе метода reduce

Будут два вывода: сначала 1 2, затем undefined 3. Без начального значения reduce берёт первый элемент как аккумулятор, а callback ничего не возвращает.

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

Что ответить на собеседовании

Будут два вывода: сначала 1 2, затем undefined 3. Без начального значения reduce берёт первый элемент как аккумулятор, а callback ничего не возвращает.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой вывод появится в консоли при запуске следующего кода:

 [1, 2, 3].reduce((a, b) => { console.log(a, b); });

Ответ

Будут два вывода: сначала 1 2, затем undefined 3. Без начального значения reduce берёт первый элемент как аккумулятор, а callback ничего не возвращает.

На первом шаге a = 1 и b = 2. После console.log функция с фигурными скобками завершается без return, то есть возвращает undefined — это становится аккумулятором следующего шага. Поэтому второй вызов получает undefined и 3. Итог самого reduce также undefined. Для суммирования нужно явно вернуть a + b из callback.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее