获取两个多维数组对象的交集

780 阅读1分钟

查找交集

foreachMethods(A, B) { //A,B两个需要查找交集的数组
  var ret = []
  A.forEach(itemA => {
  // 获取两个参数是否相同
    let r = B.find(itemB => itemB.name === itemA.name)
    if (r) { // 如果相同则记录下来
      let obj = Object.assign({}, itemA)
      ret.push(obj)
      // 递归调用函数
      if (itemA.children&&itemA.children.length>0 && r.children&&r.children.length>0) {
        obj.children = this.foreachMethods(itemA.children, r.children)
      }
    }
  })
  return ret
},