Почему результат равен undefined?
Получите произведение всех чисел в массиве, используя Array.reduce. Не обрабатывайте типы данных, не являющиеся числом.
let array = ["0", 5, 3, "string", null];
let mult = array.reduce((sum, current) => {
if (typeof(current) == "number") {
return sum *= current;
}
}, 1)
console.log(mult);
Ответы (1 шт):
Автор решения: Александр Лесив
→ Ссылка
Ошибка происходила из-за того, что при значении не числового типа, функция переданная в reduce не возвращала значения явно (а значит возвращала undefined по умолчанию)
let array = ["0", 5, 3, "string", null];
let mult = array.reduce((sum, current) =>
typeof(current) === "number" ? sum * current: sum, 1
)
console.log(mult);