首頁 > web前端 > js教程 > 如何在 JavaScript 中深度複製物件數組?

如何在 JavaScript 中深度複製物件數組?

Linda Hamilton
發布: 2024-12-13 04:59:10
原創
119 人瀏覽過

How to Deep Clone an Array of Objects in JavaScript?

如何在 JavaScript 中複製物件陣列?

在 JavaScript 中處理複雜的資料結構時,建立陣列的深層副本通常會很有幫助,而不是建立陣列的深層副本。淺薄的參考。這可確保對克隆副本的變更不會影響原始數組,反之亦然。

建立深層副本

使用結構化複製

現代深度克隆數組的方法是使用StructuredClone 方法:

array2 = structuredClone(array1);
登入後複製

此方法大多數現代瀏覽器都支持,提供可靠的深度克隆機制。

使用JSON.parse

如果StructuredClone 不可用,您可以使用基於JSON 的技術:

let clonedArray = JSON.parse(JSON.stringify(nodesArray))
登入後複製

此方法適用於JSON 可序列化的對象,這意味著它們可以轉換為JSON 字串並返回。但是,它可能不適合具有函數或某些資料類型的複雜物件。

使用 Spread 運算子和 Map

對於淺層對象,使用 Spread 運算子與 Map 結合可以提供更好的效能:

clonedArray = nodesArray.map(a => ({...a}))
登入後複製

此技術為數組中的每個元素創建一個新對象,確保對克隆的更改不會影響

選擇正確的方法

克隆對象數組的最佳方法取決於您的特定要求。為了獲得可靠的深度複製,建議使用 StructuredClone。對於 JSON 可序列化對象,JSON.parse 和 JSON.stringify 提供了靈活的選項。對於淺層對象,擴充運算子和映射方法提供更好的效能。

以上是如何在 JavaScript 中深度複製物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板