我有两个对象数组:
我的表格元素不是原始值,而是复杂对象。
array1 = [obj1,obj2,obj3,obj4]
array2 = [obj5,obj5,obj6,obj7]
我想比较两个数组,看看数组2的元素已经存在于array1中,然后创建一个新差异的数组。
有什么建议吗?
答案 0 :(得分:28)
var presents = _.intersectionWith(array1, array2, _.isEqual);
var dif = _.differenceWith(array1, array2, _.isEqual);
答案 1 :(得分:14)
ES6 这就足够了:
array2.filter(e => !array1.includes(e));
没有包含
array2.filter(e=> array1.indexOf(e) < 0);
Plunker为你
答案 2 :(得分:1)
_.difference只提供第一个数组中但不包含第二个数组的元素,没有关于数组2中不在数组1中的元素。
这是你想要达到的目标吗?