将JavaScript中的数组复制到另一个数组时:
var arr1 = ['a','b','c']; var arr2 = arr1; arr2.push('d'); //Now, arr1 = ['a','b','c','d']
我意识到这arr2是指与相同的数组arr1,而不是新的独立数组。如何复制数组以获取两个独立的数组?
用这个:
var newArray = oldArray.slice();
基本上,该slice()操作会克隆数组并返回对新数组的引用。 另请注意:
对于引用,字符串和数字(而不是实际对象),将slice()对象引用复制到新数组中。原始数组和新数组都引用同一对象。如果引用的对象发生更改,则更改对新数组和原始数组均可见。
字符串和数字之类的基元是不可变的,因此无法更改字符串或数字。
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。