使用复杂的数据结构时,例如引用同一数组中其他对象的对象数组,创建真正的深层复制可能具有挑战性。让我们探索各种方法:
深度复制的现代解决方案是使用 StructuredClone():
array2 = structuredClone(array1);
此方法支持广泛的的数据类型,并且大多数浏览器都支持。
对于具有 JSON 可序列化内容的对象,一个简单的一行解决方案是:
let clonedArray = JSON.parse(JSON.stringify(nodesArray))
但是,与其他方法相比,它在不可序列化内容和性能问题方面存在局限性。
如果您的数组包含浅对象,则展开运算符与 .map() 结合可用于快速高效的深度复制:
clonedArray = nodesArray.map(a => ({...a}));
此方法显着优于 JSON.parse。
以上是如何在 JavaScript 中最好地深度复制互连对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!