Код Middle Реализация с нуля обновлено
Array.prototype.reduce своими руками
Условие
Реализуй myReduce(arr, fn, initial). Без initial первый элемент становится аккумулятором; на пустом массиве без initial - TypeError.
Что проверяют тесты
с начальным
без начального
initial undefined считается переданным
пустой без initial бросает
Как подойти
Ключевой нюанс - определить факт передачи initial через arguments.length / rest.length, а не через сравнение с undefined. Дальше обычный цикл со стартом 0 или 1.
Подсказки: 2
- «Начальное значение передано» и «начальное значение не undefined» - разные вещи.
- Используй ...rest или arguments.length, чтобы это различить.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.