在 JavaScript 中按 ID 合併物件
在 JavaScript 中,可以有效地合併物件以組合來自多個來源的資料。處理物件數組時,一個常見的挑戰是透過特定欄位(通常稱為 id)合併物件。
例如,給定以下數組:
var a1 = [{ id: 1, name: "test"}, { id: 2, name: "test2"}]; var a2 = [{ id: 1, count: "1"}, {id: 2, count: "2"}];
我們想要根據「id」欄位將它們組合起來,結果是如下:
var a3 = [{ id: 1, name: "test", count: "1"}, { id: 2, name: "test2", count: "2"}];
解:
ES6中一個簡潔有效的解決方案是利用原生的map函數:
const a3 = a1.map(t1 => ({...t1, ...a2.find(t2 => t2.id === t1.id)}));
這裡,我們迭代a1 中的每個物件 t1 並建立一個新物件。使用擴充運算子 (...),我們將屬性從 t1 擴展到新物件。
要附加 a2 中匹配物件的屬性,我們使用 find 方法來定位具有匹配 ' 的物件ID'。然後,我們將找到的物件中的屬性傳播到新物件中。
這種方法優雅地組合了兩個數組中的數據,產生所需的結果。它還可以擴展以無縫處理更複雜的場景。
以上是如何透過 ID 合併 JavaScript 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!