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?
Answer
Check this:
let cloned = source.map(x => Object.assign({}, x));
No comments:
Post a Comment