Javascript将数组复制到新数组

Javascript copy array to new array

本问题已经有最佳答案,请猛点这里访问。

我想从现有数组中形成一个数组,以便在不影响旧数组的情况下修改新数组。我意识到数组是可变的,这就是新数组影响旧数组的原因。

例如。

1
2
3
4
old = ["Apples","Bananas"];
new = old;

new.reverse();

旧的也被颠倒了。

在python中,我只需要执行new = list(old),但执行new = new Array(old);会将旧列表放入一个列表中。


您可以使用.slice方法:

1
2
3
4
var old = ["Apples","Bananas"];
var newArr = old.slice(0);
newArr.reverse();
// now newArr is ["Bananas","Apples"] and old is ["Apples","Bananas"]

slice返回数组一部分的浅副本。将它0作为第一个参数表示返回所有元素的副本(从索引0开始,即)


尝试以下操作

1
newArray = oldArray.slice(0);