Мое предположение заключается в том, что возврат в первой части оператора if приведет к поломке функции и возврату n, однако она продолжает давать неопределенные значения. Если я console.log n, это дает мне правильную вещь. Я что-то упускаю??Возврат из инструкции if в функции, задающей неопределенные
Спасибо всем
function digital_root(n) {
if(n.toString().length === 1){
console.log(n)
return true;
}else{
var digits = (""+n).split("");
thing = digits.reduce((a, b) => Number(a) + Number(b), 0);
digital_root(thing)
}
}
digital_root(942)
потому что ваша рекурсия не возвращается – epascarello
Вам нужно вернуть что-то в статусе 'else'! 'return digital_root (вещь);' будет делать! –
http://stackoverflow.com/q/39321807/5647260 – Li357