我正在制作一款包含 2 个数组的游戏,但当我不希望它发生变化时,其中一个数组发生了变化。来自浏览器控制台的示例:
A=[1,2,3,4,5]
B=[6,7,8,9,10]
A=B
A.push(11)
A =[6, 7, 8, 9, 10, 11]
B =[6, 7, 8, 9, 10, 11]
A 很好,但有没有办法让 B 保持 [6,7,8,9,10]
最佳答案
使用扩展语法 A=[...B];
将 B
复制到 A
。当你执行 A=B
时,你实际上是将 B
的引用设置为 A
所以对 A
的任何更改导致 B
发生变化,反之亦然。
var A=[1,2,3,4,5];
var B=[6,7,8,9,10];
A=[...B];
A.push(11);
console.log(A);
console.log(B);
关于javascript - 2 个阵列改变而不是 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810416/