Javascript复制数组到新arrays

我想从现有的数组中形成一个数组,所以我可以修改新的数组而不影响旧的。 我意识到数组是可变的,这就是为什么新的数组影响旧的。

例如

old = ["Apples", "Bananas"]; new = old; new.reverse(); 

老也被扭转。

在Python中,我可以做new = list(old) ,但是new = new Array(old); 把旧的列表放在一个列表中。

您可以使用.slice方法:

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

Array.prototype.slice返回数组的一部分的浅表副本。 给它0作为第一个参数意味着你正在返回所有元素的副本(从索引0开始)

尝试以下

 newArray = oldArray.slice(0);