如何在JavaScript中获得两个对象数组之间的差异

BKM:

我有两个这样的结果集:

// 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" },
]

我需要的最终结果是这些数组之间的差异–最终结果应如下所示:

[{ value: "4", display: "Ryan" }]

是否可以在JavaScript中执行类似的操作?

Cerbrus:

仅使用本机JS,类似的方法将起作用:

a = [{ value:"4a55eff3-1e0d-4a81-9105-3ddd7521d642", display:"Jamsheer"}, { value:"644838b3-604d-4899-8b78-09e4799f586f", display:"Muhammed"}, { value:"b6ee537a-375c-45bd-b9d4-4dd84a75041d", display:"Ravi"}, { value:"e97339e1-939d-47ab-974c-1b68c9cfb536", display:"Ajmal"},  { value:"a63a6f77-c637-454e-abf2-dfb9b543af6c", display:"Ryan"}]
b = [{ value:"4a55eff3-1e0d-4a81-9105-3ddd7521d642", display:"Jamsheer", $$hashKey:"008"}, { value:"644838b3-604d-4899-8b78-09e4799f586f", display:"Muhammed", $$hashKey:"009"}, { value:"b6ee537a-375c-45bd-b9d4-4dd84a75041d", display:"Ravi", $$hashKey:"00A"}, { value:"e97339e1-939d-47ab-974c-1b68c9cfb536", display:"Ajmal", $$hashKey:"00B"}]

function comparer(otherArray){
  return function(current){
    return otherArray.filter(function(other){
      return other.value == current.value && other.display == current.display
    }).length == 0;
  }
}

var onlyInA = a.filter(comparer(b));
var onlyInB = b.filter(comparer(a));

result = onlyInA.concat(onlyInB);

console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

如何在Python中获得两个时间对象之间的差异

如何比较javascript中的两个对象并获得差异?

如何获得两个数组对象之间的差异项?

如何获得具有不同属性比较器的两个对象数组之间的差异?

如何确定两个包含对象的数组之间的差异

如何在Java 8中获得两个Stream之间的对称差异?

如何在bigquery中获得两个时间戳之间的差异(以小时为单位)

如何在Linux中获得两个日期之间的差异?

如何在php中获得两个日期之间的差异天数

如何在Dart中获得两个列表之间的差异?

如何在 C# 中获得两个 DateTimeOffset 之间的小时、分钟或秒差异部分?

在JavaScript中获得2个对象数组之间的差异

如何获得PHP中两个多维数组的差异?

在两个对象的JavaScript数组中查找值之间的差异

如何在 JavaScript 中组合两个对象数组

如何在JavaScript中合并两个对象数组

如何获取JavaScript中两个数组之间的差异?

如何找到JavaScript中两个数组之间的差异?

如何在 Typescript/JavaScript 中显示两个数组之间的差异?

当两个日期不同时,如何在javascript中获取两个日期之间的差异

如何在 JavaScript 中获取两个时间戳之间的差异?

如何在 JavaScript 中获取时间序列上的两个值之间的差异?

如何在Android中的天,小时(24),分钟(60),秒(60)中获得两个日期之间的差异

如何使用GSON获得两个json对象之间的差异?

如何获得两个数组之间的差异?

在具有两个对象的数组中,如何在 (1) 处获得越界异常?

检查javascript中两个对象数组之间的区别

如何获得两个JodaTime LocalTime戳之间的差异?