Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 Arrays.push()未按预期工作_Javascript - Fatal编程技术网

JavaScript Arrays.push()未按预期工作

JavaScript Arrays.push()未按预期工作,javascript,Javascript,我正在编写这个JavaScript代码,希望输出为 [o,o,x,o,o],[o,x,x,o]] 但相反,它给了 请说明原因。在Javascript中,案例数组中的对象是通过引用传递的。将数组推入finalArray,然后更新数组。但您已从同一引用更新了数据。所以你可以使用spread操作符,它可以有效地创建一个新的数组和一个新的引用,你可以把这个数组推到finalArray 在Javascript中,案例数组中的对象通过引用传递。将数组推入finalArray,然后更新数组。但您已从同一引用更

我正在编写这个JavaScript代码,希望输出为

[o,o,x,o,o],[o,x,x,o]]

但相反,它给了


请说明原因。

在Javascript中,案例数组中的对象是通过引用传递的。将数组推入finalArray,然后更新数组。但您已从同一引用更新了数据。所以你可以使用spread操作符,它可以有效地创建一个新的数组和一个新的引用,你可以把这个数组推到finalArray


在Javascript中,案例数组中的对象通过引用传递。将数组推入finalArray,然后更新数组。但您已从同一引用更新了数据。所以你可以使用spread操作符,它可以有效地创建一个新的数组和一个新的引用,你可以把这个数组推到finalArray

这是因为Javascript对象是通过引用传递的。您应该创建数组的副本并推送到最后一个副本

函数createArrayx{ var-arr=[]; var finalArray=[]; forvar i=1;i这是因为Javascript对象是通过引用传递的

函数createArrayx{ var-arr=[]; var finalArray=[];
forvar i=1;i当您将数组推入final u时,它是针对JS指针的,将数组的指针推入final的索引中,当更改数组时,final也会更改

要解决此问题,您可以使用easy代码:

finalArray.push([...array]);

GoodLuck

当你把数组推到final的u中,把数组的指针推到final的索引中,当改变数组时,final也改变了

要解决此问题,您可以使用easy代码:

finalArray.push([...array]);

GoodLuck

尝试finalArray.pusharray.slice;第一次..推送不会克隆要推送到finalArray中的数组。将同一数组的引用推送到同一数组两次。尝试finalArray.pusharray.slice;第一次..推送不会克隆要推送到finalArray中的数组。将同一数组的引用推送到同一数组tw冰,这叫不冰destructuring@adiga我正要发表同样的评论。这一点被称为“不”destructuring@adiga我正要发表同样的评论,当场
finalArray.push([...array]);