C'mon guys, it is the 21st century: as long as your objects contain JSON-serializable content (no functions, no
Number.POSITIVE_INFINITY
, etc.) there is no need for any loops to clone arrays or objects. Here is a pure vanilla one-line solution.var clonedArray = JSON.parse(JSON.stringify(nodesArray))
To summarize the comments below, the primary advantage of this approach is that it also clones the contents of the array, not just the array itself. The primary downsides are its limit of only working on JSON-serializable content, and it's performance (which is significantly worse than a
slice
based approach).
------
I solved cloning of an array of objects with Object.assign
const newArray = myArray.map(a => Object.assign({}, a));
or even shorter with spread syntax
const newArray = myArray.map(a => ({...a}));
No comments:
Post a Comment