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