我有一个对象数组作为输入。让我们称之为吧content
。
尝试深复制它时,它仍然具有对先前数组的引用。
我需要复制该输入数组,并更改重复部分的一个属性。
很久以来,我尝试了不成功的其他方法。
ES6方式:
public duplicateArray() {
arr = [...this.content]
arr.map((x) => {x.status = DEFAULT});
return this.content.concat(arr);
}
该slice
方式:
public duplicateArray() {
arr = this.content.slice(0);
arr.map((x) => {x.status = DEFAULT});
return this.content.concat(arr);
}
在这两个对象中,数组中的所有对象都具有status: 'Default'
。
在Angular 2中深度复制数组的最佳方法是什么?
var source = ["one","two","three"]; var cloned = source.map(x => Object.assign({},x));
我最终会克隆为:[ { '0': 'o', '1': 'n', '2': 'e' }, { '0': 't', '1': 'w', '2': 'o' }, { '0': 't', '1': 'h', '2': 'r', '3': 'e', '4': 'e' } ]