首页 > web前端 > js教程 > 如何查找两个 JavaScript 对象数组之间的差异?

如何查找两个 JavaScript 对象数组之间的差异?

Susan Sarandon
发布: 2024-12-18 01:12:09
原创
456 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板