AngularJS has angular.copy()
to deep copy objects and arrays.
Does Angular also have something like that?
I am faced with the problem of deep copying. angular.copy({}, factory) and angular.extend({}, factory) helps well for array or hashes objects, but when copying an object a calass, sometimes there may be problems with connected dependencies. I solved this problem so:
copyFactory = (() ->
resource = ->
resource.__super__.constructor.apply this, arguments
return
this.extendTo resource
resource
).call(factory)
You can also use:
JSON.parse(JSON.stringify(Object))
if it's on your scope, it's in every Angular component, directive, etc. and it's also on every node environment.
Unless you have a circular reference, it should work and will effectively dissociate your variable reference to the original object.
If the source is an array of objects, using map:
let cloned = source.map(x => Object.assign({}, x));
OR
let cloned = source.map((x) => {
return { ...x };
});