Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将整数转换为字符串,然后使用递归进行加法_Javascript_Arrays_Recursion_Int_Tostring - Fatal编程技术网

Javascript 将整数转换为字符串,然后使用递归进行加法

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+个数字添

您好,我正在尝试解决一个问题,即函数digital_root(n)的输入将添加数字。我不确定我做错了什么

函数数字根(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];