在Angular 2 + TypeScript中深度复制数组
我有一个输入数组的对象。 让我们称它为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中深度复制数组的最佳方法是什么?
检查这个:
let cloned = source.map(x => Object.assign({}, x));
这对我有用:
this.listCopy = Object.assign([], this.list);
简单:
let objCopy = JSON.parse(JSON.stringify(obj));
链接地址: http://www.djcxy.com/p/40711.html