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

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

Patricia Arquette
發布: 2024-12-09 12:04:15
原創
276 人瀏覽過

How to Find the Differences Between Two Arrays of Objects in JavaScript?

在JavaScript 中尋找物件陣列之間的差異

給定兩個具有相似結構的物件數組,可能需要確定以下物件:每個數組都是唯一的。當比較結果集或執行資料協調時會出現這種情況。在 JavaScript 中,可以透過篩選和比較的組合來找到物件陣列之間的差異。

為了識別每個數組中的唯一對象,我們可以先定義一個比較函數來評估兩個對像是否相等根據他們的屬性。例如:

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;
登入後複製

接下來,我們可以利用filter方法迭代一個數組,根據比較函數選擇另一個數組中不存在的物件。

const onlyInLeft = (left, right, compareFunction) =>
  left.filter(leftValue => !right.some(rightValue => compareFunction(leftValue, rightValue)));
登入後複製

將此技術應用於兩個數組,我們可以獲得兩個包含每個唯一物件的數組:

const onlyInA = onlyInLeft(a, b, isSameUser);
const onlyInB = onlyInLeft(b, a, isSameUser);
登入後複製

最後,我們可以將兩個數組中的唯一對象合併為一個結果:

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

產生的結果數組將包含兩個數組中唯一的對象,提供它們之間差異的全面表示。

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

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