为什么函数返回"undefined",即使变量包含正确的结果?



我写了一个函数来返回数字的数字根。

但是,此函数始终返回undefined,但变量包含正确的结果。

我的错误在哪里?

function nuberRoot(a: number): number {
let s: number = 0;
while (a > 0) {
s += a % 10
a = Math.floor(a / 10)
}
if (s >= 10) {
nuberRoot(s)
} else {
alert(s)  //  s=6
return s  //  undefined
}
}
alert(nuberRoot(942))  //  undefined

您缺少if(s>=10)的返回

function nuberRoot(a){
let s = 0;
while(a>0){
s+=a%10
a = Math.floor(a /10)
}
if (s>=10){
return nuberRoot(s)
}

else{
alert(s)//s=6
return s//undefined
}

}
alert(nuberRoot(942))//undefined

逻辑是正确的,但当s>10.谢谢。

if (s>=10){
return  nuberRoot(s);
}

相关内容

最新更新