首頁 > web前端 > js教程 > 如何找出兩個 JavaScript 物件陣列之間的差異?

如何找出兩個 JavaScript 物件陣列之間的差異?

Susan Sarandon
發布: 2024-12-18 01:12:09
原創
455 人瀏覽過

How to Find the Difference Between Two JavaScript Arrays of Objects?

確定 JavaScript 中物件陣列之間的差異

比較資料集時常會出現對比兩個物件陣列的概念。本文探討了一種提取兩個陣列之間不同元素的方法,確保保留特定物件屬性。

考慮以下輸入數組:

Result 1:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" },
    { value: "4", display: "Ryan" }
]

Result 2:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" }
]
登入後複製

期望的結果是這些數組之間的差異,這將產生一個僅包含結果1 中唯一元素的數組:

[
    { value: "4", display: "Ryan" }
]
登入後複製

JavaScript 提供了可以優雅地完成此操作的本機方法任務。透過定義一個根據物件屬性評估物件相等性的比較函數,您可以利用 onlyInLeft() 函數來識別僅存在於左側(原始)陣列中的元素。同樣的過程可以應用在右側(新)數組。

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

const onlyInA = onlyInLeft(result1, result2, isSameUser);
const onlyInB = onlyInLeft(result2, result1, isSameUser);

const result = [...onlyInA, ...onlyInB];
登入後複製

結果變數隨後將包含一個數組,其中區分兩個輸入數組。這種方法提供了一種靈活的解決方案來比較物件數組,同時保留用於比較的特定屬性。

以上是如何找出兩個 JavaScript 物件陣列之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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