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

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

Linda Hamilton
发布: 2024-12-13 14:35:10
原创
907 人浏览过

How Can I Efficiently Find the Differences Between Two JavaScript Arrays of Objects?

在 JavaScript 中检索数组差异

给定两个对象数组,需要识别它们的差异。在这方面,以下代码片段提供了一个解决方案:

const a = [{ value: "0", display: "Jamsheer" }, { value: "1", display: "Muhammed" }, { value: "2", display: "Ravi" }, { value: "3", display: "Ajmal" }, { value: "4", display: "Ryan" }];
const b = [{ value: "0", display: "Jamsheer" }, { value: "1", display: "Muhammed" }, { value: "2", display: "Ravi" }, { value: "3", display: "Ajmal" }];

// Equality comparison function
const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

// Filter function to identify unique elements in the left array (a)
const onlyInLeft = (left, right, compareFunction) =>
  left.filter(leftValue =>
    !right.some(rightValue =>
      compareFunction(leftValue, rightValue)
    )
  );

// Apply the filter functions
const onlyInA = onlyInLeft(a, b, isSameUser);
const onlyInB = onlyInLeft(b, a, isSameUser);

// Concatenate the unique elements from both arrays
const result = [...onlyInA, ...onlyInB];

console.log(result);
登录后复制

此代码使用提供的比较函数 (isSameUser) 有效地比较对象数组,并识别每个数组中的唯一元素。最终结果是一个包含两个输入数组中这些唯一元素的数组。

以上是如何有效地查找两个 JavaScript 对象数组之间的差异?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板