对比两组对象数组 根据元素内某一属性是否相等过滤数组

let arr1 = [
  {
    a: 13,
    b: 14,
  },
  {
    a: 17,
    b: 23,
  },
  {
    a: 89,
    b: 79,
  },
]

let arr2 = [
  {
    a: 13,
    b: 14,
    c: 15,
    d: 78,
  },
  {
    a: 17,
    b: 23,
    c: 145,
    d: 718,
  },
  {
    a: 67,
    b: 203,
    c: 1345,
    d: 11,
  },
  {
    a: 517,
    b: 423,
    c: 8,
    d: 34,
  },
]

如上所示 有两组对象数组 arr1的某一元素的a属性等于arr2的某一元素的a属性,b属性等于b属性,如上代码 将arr2过滤得到一个新数组

arr3 = [
  {
    a: 13,
    b: 14,
    c: 15,
    d: 78,
  },
  {
    a: 17,
    b: 23,
    c: 145,
    d: 718,
  },
]

求大佬给一个解决方案

阅读 4k
1 个回答
arr2.filter(item => arr1.find(_item => item.a === _item.a && item.b === _item.b))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏