我有阵列:
var array = ["a", "b", "c"];
我需要将此数组保存到另一个变量
var save = array;
现在我需要从save
第一个索引进行拼接,但是当我尝试时,会从两个数组中删除索引。
var array = ["a", "b", "c"];
var save = array;
save.splice(0, 1);
console.log(array);
console.log(save);
答案 0 :(得分:7)
您需要使用Array#slice
复制数组,否则save
保存对原始数组的引用(两个变量都指向同一个数组)。
var save = array.slice();
var array = ["a", "b", "c"];
var save = array.slice();
save.splice(0, 1);
console.log(array);
console.log(save);

答案 1 :(得分:0)
如果它是没有循环引用的平面数组,则可以使用
var copied_array = JSON.parse(JSON.stringify(original_array));
这也适用于扁平物体。