gpt4 book ai didi

javascript - 如果数组是通过引用传递的,下面的代码如何工作?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:33 24 4
gpt4 key购买 nike

var myarray = []
var array1 = [1,2,3]
myarray.push(array1)
array1 =[2,3,4]
myarray.push(array1)
console.log(myarray)

我明白了

[ [ 1, 2, 3 ], [ 2, 3, 4 ] ].

不应该吗

[ [ 2, 3, 4 ], [ 2, 3, 4 ] ]

如果我通过引用传递?

谢谢

编辑:我猜这是因为 = [2,3,4] 创建了一个新对象并分配 array1 来引用它而不是相反

最佳答案

您不是在修改变量(数组),而是在重新分配一个新值。

var myarray = [];
var array1 = [1, 2, 3];
myarray.push(array1);
array1.push(2, 3, 4); // Modifying the array in memory.
//myarray.push(array1);
console.log(myarray);

关于javascript - 如果数组是通过引用传递的,下面的代码如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55389375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com