在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中文網其他相關文章!