我的假设是,if语句的第一部分中的返回会破坏函数并返回n,但是它会继续给出undefined。如果我控制台.log它给了我正确的东西。我错过了什么?
谢谢大家
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)
答案 0 :(得分:0)
您不会在递归中返回,这意味着它将返回undefined。
return digital_root(thing)