如何创建数组的副本?

29 浏览
0 Comments

如何创建数组的副本?

这个问题已经有了答案

如何通过值复制数组

我有一个数组:

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);

admin 更改状态以发布 2023年5月21日
0
0 Comments

如果它是一个没有循环引用的扁平数组,你可以使用

var copied_array = JSON.parse(JSON.stringify(original_array));

这对于扁平对象也是有效的。

0
0 Comments

你需要使用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);

0