使用複雜的資料結構時,例如引用同一數組中其他物件的物件數組,創建真正的深層複製可能具有挑戰性。讓我們探索各種方法:
深度複製的現代解決方案是使用StructuredClone():
array2 = structuredClone(array1);
此方法支援廣泛的的資料類型,並且大多數瀏覽器都支援。
對於具有JSON 可序列化內容的對象,一個簡單的一行解決方案是:
let clonedArray = JSON.parse(JSON.stringify(nodesArray))
但是,與其他方法相比,它在不可序列化內容和效能問題方面有其限制。
如果您的陣列包含淺對象,則展開運算子與.map() 結合可用於快速且有效率的深度複製:
clonedArray = nodesArray.map(a => ({...a}));
此方法顯著優於JSON.parse。
以上是如何在 JavaScript 中最好地深度複製互連物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!