【发布时间】:2018-11-05 05:03:23
【问题描述】:
如何通过比较对象中具有不同元素的两个对象数组来过滤数组? 我有:
arr1 =[{ x: 1, y: 2, z:3 }, { x: 2, y: 1, z:4 }];
arr2 = [{ x: 1, y: 2, a:5 }, { x: 2, y: 3, a:4 }];
我想比较两个数组中的 x 和 y 值,并从第一个数组返回 not macthing 对象,在上面的示例中返回 [{ x: 2, y: 1, z:4 }]
我尝试使用_.differenceWith(arr1, arr2, _.isEqual);,但显然数组应该有类似的对象,这不是我的情况。
【问题讨论】:
-
我不明白返回
[{ x: 2, y: 1, z:4 }]的数学逻辑。z: 3不也不同吗? -
@andrewL,我只想返回无法匹配两个元素 x 和 y 的整个对象
-
但是返回数组
x:2中的第一项在两个数组中都有匹配的元素。 -
x 和 y 都必须匹配
标签: javascript arrays lodash javascript-objects