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