Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 为什么要“推”;r";数组在循环中工作不正常?_Javascript_Arrays_Loops_Recursion_Push - Fatal编程技术网

Javascript 为什么要“推”;r";数组在循环中工作不正常?

Javascript 为什么要“推”;r";数组在循环中工作不正常?,javascript,arrays,loops,recursion,push,Javascript,Arrays,Loops,Recursion,Push,为什么下面的数组不能在循环中正确地推送到r 如果我改为If((pivot+originArr[c])我想我发现了问题 我们不能像这样克隆阵列 tempResult = i; 在我将新数字推入结果后,它将影响引用“i” 因此,我的解决方案是将克隆方式改为: tempResult = [...i]; 该克隆不会影响引用。您的变量r必须使用var或let声明。顺便提一下,对于arr和c也是如此。启用严格模式后,您将更容易发现这些问题。将此添加为文件的第一行:使用严格;您的r,arr和c变量未声明。

为什么下面的数组不能在循环中正确地推送到r


如果我改为
If((pivot+originArr[c])我想我发现了问题

我们不能像这样克隆阵列

tempResult = i;
在我将新数字推入结果后,它将影响引用“i”

因此,我的解决方案是将克隆方式改为:

tempResult = [...i];

该克隆不会影响引用。

您的变量
r
必须使用
var
let
声明。顺便提一下,对于
arr
c
也是如此。启用严格模式后,您将更容易发现这些问题。将此添加为文件的第一行:
使用严格;
您的
r
arr
c
变量未声明。这对递归函数不利。感谢您指出,更新了问题。“i”是第二次调用计算函数得到的数组。
tempResult = [...i];