Javascript 将整数转换为字符串,然后使用递归进行加法
您好,我正在尝试解决一个问题,即函数digital_root(n)的输入将添加数字。我不确定我做错了什么Javascript 将整数转换为字符串,然后使用递归进行加法,javascript,arrays,recursion,int,tostring,Javascript,Arrays,Recursion,Int,Tostring,您好,我正在尝试解决一个问题,即函数digital_root(n)的输入将添加数字。我不确定我做错了什么 函数数字根(n){ // ... //1.将n分隔为数字数组 var nString=n.toString(); //[ '1', '2', '3', '4' ] var numbersToAdd=[]; var合计=0; 对于(变量i=0;i总计=1 //总计=1+要添加的数字[1]-->1+2-->总计=3 //总计=3+个数添加[2]-->3+3-->总计=6 //总计=6+个数字添
函数数字根(n){
// ...
//1.将n分隔为数字数组
var nString=n.toString();
//[ '1', '2', '3', '4' ]
var numbersToAdd=[];
var合计=0;
对于(变量i=0;i0+1-->总计=1
//总计=1+要添加的数字[1]-->1+2-->总计=3
//总计=3+个数添加[2]-->3+3-->总计=6
//总计=6+个数字添加[3]-->6+3-->总计=9
}
返回总数;
}
console.log(digital_root(1234))代码>您需要使用“x”而不是“i”
如此变化
total += numbersToAdd[i];
到
将解决一个问题
同样,输出应该是10而不是9,你的问题中有计算错误这里没有递归。你的索引是i
,而你的for
变量是x
@GalAbra他用+nString.charAt(i)
将它们转换为整数。你没有任何递归,但索引变量不正确<代码>总计+=要添加的数量[i]代码>更改为x
-total+=numbersToAdd[x]代码>
total += numbersToAdd[x];