基于Javascript的数字根练习

基于Javascript的数字根练习,javascript,Javascript,我在尝试使用Javascript进行数字根目录练习时遇到了一些问题 这是我的密码: function digital_root(n) { var sNumero = n.toString(); var sum = 0; for(i = 0 ; i < sNumero.length; i++){ sum += parseInt(sNumero[i]); } if(sum > 9){ digital_root(s

我在尝试使用Javascript进行数字根目录练习时遇到了一些问题

这是我的密码:

function digital_root(n) {
    var sNumero = n.toString();
    var sum = 0;

    for(i = 0 ; i < sNumero.length; i++){
        sum += parseInt(sNumero[i]);
    }

    if(sum > 9){
        digital_root(sum);
    }
    return sum;
}
函数数字根(n){
var sNumero=n.toString();
var总和=0;
对于(i=0;i9){
数字根(和);
}
回报金额;
}
当我尝试将456输入到'n'时,函数返回15。预计的数字是6。我不知道为什么会这样

为了帮助你们理解我的问题,以下是练习:

“数字根是一个数字中所有数字的递归和。给定n, 取n的数字之和。如果该值有多个数字, 继续以这种方式减少,直到产生一个位数。这是 仅适用于自然数。“

您忘记了报税表:

if(sum > 9){
    return digital_root(sum); // <-- here
}
if(总和>9){

return digital_root(sum);//您可以在此处添加
return
语句

函数数字根(n){
var sNumero=n.toString();
var总和=0;
对于(i=0;i9){
return digital_root(sum);//此处缺少return
}
回报金额;
}

console.log(数字根(456))
No((4+5)=9) + 6 = 15@LawrenceCherone 15 => 1 + 5 = 6@alfasineek,我错过了递归。它成功了!非常感谢你的帮助。我从这个世界开始,所以我在基本概念上遇到了一些问题。我忘记了我必须以某种方式获得值。我认为第一个示例是最好的解决方案