Вопрос по методу reduce
Или не reduce, в общем непонятный глюк, в комментариях в коде подробнее.
let redu = [1,2,9,0].reduce(function(a,b){return a + b}, 0) //сумма элементов массива
console.log (redu+typeof redu)// сумма выводится правильно, тип правильный - число
function sumDigits(number) {
let res = Math.abs(number).toString().split('').reduce(function(a,b){return a + b}, 0)
return res
}
let ressum = sumDigits (1290)
console.log (ressum+" sumDigits (1290)")// функция не считает сумму
console.log (typeof ressum) // неправильный тип string вместо number
/*Если метод reduce работает корректно,
это видно по первой записи, значит он получает не массив
и поэтому сумма не считается, проверяю*/
function whatReduceGet(number) {
let res = Math.abs(number).toString().split('')
return res
}
ressum = whatReduceGet (1290)
console.log (ressum+" whatReduceGet (1290)")// reduce получает массив,
/*получается непонятно, если reduce получает массив [1,2,9,0],
и с этим массивом он корректно работает,
то почему не работает функция полностью?*/