Javascript .splice() and .push() error

Javascript .splice() and .push() error

本文关键字:error push and Javascript splice      更新时间:2023-09-26

我有一个数组array1,我将它的副本存储在另一个变量array2中。现在,当我尝试将值推入array1时,即使在将值推入array1之前分配了array2,该值也会被推入array2。这在.splice()方法中也会发生。

var array1 = [1,2,3];
var array2 = array1;
array1.push(4);
alert(array1);
alert(array2);

小提琴

你必须像这样克隆你的第一个数组:

var array2 = array1.slice(0);

更新小提琴

JavaScript有基本类型和引用类型。Array是一个引用类型。Array2得到了参考,所以array1的修改会影响array2,你也可以使用这个代码:

var array1 = [1,2,3];
var array2 = array1.concat();
array2.push(4);
alert(array1);
alert(array2);