开发者社区> 问答> 正文

算法题)求多个数组之间的交集(阿里)#前端面试

算法题)求多个数组之间的交集(阿里)#前端面试

展开
收起
一月19 2020-05-23 12:53:06 2237 0
1 条回答
写回答
取消 提交回答
  • 方法一:

    let a = new Set([1, 2, 3]);
    let b = new Set([4, 3, 2]);
    # 把aSet结构成数组,然后根据filter去过滤掉只保留存在b数组中的元素
    let intersect = new Set([...a].filter(x => b.has(x)));
    // set {2, 3}
    

    方法二:

    function intersect(...args) {
      if (args.length === 0) {
        return []
      }
    
      if (args.length === 1) {
        return args[0]
      }
    
      return args.reduce((result, arg) => {
        return result.filter(item => arg.includes(item))
      })
    }
    
    2020-05-23 13:54:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云技术面试红宝书 立即下载
超全算法笔试-模拟题精解合集 立即下载
程序员面试宝典 立即下载