Как initialValue влияет на результат reduce

Первый результат — 16: начальные 10 складываются с 1, 2 и 3. Для пустого массива возвращается initialValue, то есть 10.

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

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

Первый результат — 16: начальные 10 складываются с 1, 2 и 3. Для пустого массива возвращается initialValue, то есть 10.

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

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

Условие

Что выведет console.log([1, 2, 3].reduce((acc, value) => acc + value, 10))? Что вернёт такая же операция для пустого массива?

Ответ

Первый результат — 16: начальные 10 складываются с 1, 2 и 3. Для пустого массива возвращается initialValue, то есть 10.

InitialValue не заменяет первый элемент и не пропускается при наличии данных. Без него первый элемент становится начальным аккумулятором, а callback начинает со следующего. Для пустого массива reduce без initialValue выбрасывает ошибку. Явное начальное значение делает такой граничный случай определённым.

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

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

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

Подробнее