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