Deep copy an array in Angular 2 + TypeScript
I have an array of objects that is an input. Lets call it content
.
When trying to deep copy it, it still has a reference to the previous array.
I need to duplicate that input array, and change one property of the duplicated part.
So long I've tried different methods that weren't successful.
ES6 way:
public duplicateArray() {
arr = [...this.content]
arr.map((x) => {x.status = DEFAULT});
return this.content.concat(arr);
}
The slice
way:
public duplicateArray() {
arr = this.content.slice(0);
arr.map((x) => {x.status = DEFAULT});
return this.content.concat(arr);
}
In both of them all the objects inside the array have status: 'Default'
.
What's the best approach to deep copy the array in 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/40712.html