Нужно складывать числа до тех пор пока число не будет однозначным JS, что не так с моим кодом
// https://www.codewars.com/kata/541c8630095125aba6000c00
function digitalRoot(n) {
let res = 0;
n = n.toString().split("").map(Number).reduce((sum,item) => sum = sum + item);
if (n.toString().length == 0) {
res = n;
}else {
digitalRoot(n);
}
//console.log(res);
return res;
}
console.log(digitalRoot(158));
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Как вариант...
function digitalRoot(n) {
n = n.toString().split("").reduce((sum, item) => sum = sum + Number(item), 0);
if (n < 10) return n;
return digitalRoot(n);
}
console.log(digitalRoot(158));