我想取消移动阵列的副本,但是原始阵列也会修改。为什么会这样?
var array1 = [1, 2, 3]
var array2 = array1
array2.unshift(4, 5)
console.log(array1)
console.log(array2)
答案 0 :(得分:2)
尝试使用Array.from()
var array1 = [1, 2, 3]
var array2 = Array.from(array1)
array2.unshift(4, 5)
console.log(array1)
console.log(array2)
答案 1 :(得分:2)
使用扩展运算符( ... )
创建第二个数组。它将创建一个具有新参考的新数组。然后执行您的任务。
var array1 = [1, 2, 3];
var array2 = [...array1];
array2.unshift(4, 5);
console.log(array1);
console.log(array2);