Метод reduce у массивов в JavaScript имеет следующую сигнатуру:
Напишите типы для функции reduce с использованием generics (тип массива, callback с аккумулятором, текущим значением, индексом, initial value).
Метод reduce у массивов в JavaScript имеет следующую сигнатуру:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Метод reduce у массивов в JavaScript имеет следующую сигнатуру:
arr.reduce(callback[, initialValue])
Где callback — функция с параметрами:
function callback(accumulator, currentValue, currentIndex, array) {
// ...
return newAccumulator;
}
accumulator— аккумулирующее значение, которое возвращается из предыдущего вызова callback (илиinitialValueпри первой итерации).currentValue— текущий обрабатываемый элемент массива.currentIndex— индекс текущего элемента.array— исходный массив.
На каждой итерации из callback нужно возвращать новое значение аккумулятора, которое будет передано в следующую итерацию. В итоге reduce возвращает итоговое аккумулированное значение.
Пример:
const sum = [1, 2, 3, 4].reduce((acc, val) => acc + val, 0);
console.log(sum); // 10