首頁 >web前端 >js教程 >如何透過ID高效合併JavaScript物件?

如何透過ID高效合併JavaScript物件?

DDD
DDD原創
2024-11-29 20:22:15642瀏覽

How to Efficiently Merge JavaScript Objects by ID?

透過ID 合併JavaScript 物件

問題:

如何有效率地合併兩個Script基於公共「id」屬性的物件數組,將第二個數組中的附加資料加入到首先?

範例:

var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }]
var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]

所需輸出:

var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]

解決方案>

使用ES6,您可以透過簡潔的解決方案來實現此目的:

const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));
此解決方案利用了map() 和find() 方法:

  • map( ):迭代a1 中的每個元素都會建立一個新物件。
  • find():找出a2中與a1中目前元素具有相同「id」的物件。
  • 擴充運算子( ... ):將a1 中目前元素的屬性與屬性組合
此方法根據「id」屬性有效合併a1 和a2 中的對象,加入任何附加的從a2 到a3 中的結果對象的屬性。

以上是如何透過ID高效合併JavaScript物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn