zoukankan      html  css  js  c++  java
  • 数组对象 级别 交集

    有以下数据:
     let a = new Set([
        {
            'categoryId': 1,
            'categoryIdLevelOne': 750611334,
            'categoryIdLevelThree': 750611336,
            'categoryIdLevelTwo': 750611335,
            'id': 2697,
            'level': 3,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 1
        },
        {
            'categoryId': 2,
            'categoryIdLevelOne': 750611472,
            'categoryIdLevelTwo': 750611473,
            'id': 2701,
            'level': 2,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 2
        },
        {
            'categoryId': 3,
            'categoryIdLevelOne': 750611487,
            'categoryIdLevelTwo': 750611488,
            'id': 2702,
            'level': 2,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 1
        }
    ])
    let b = new Set([
        {
            'categoryId': 2,
            'categoryIdLevelOne': 750611334,
            'categoryIdLevelThree': 750611336,
            'categoryIdLevelTwo': 750611335,
            'id': 2697,
            'level': 3,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 1
        },
        {
            'categoryId': 3,
            'categoryIdLevelOne': 750611472,
            'categoryIdLevelTwo': 750611473,
            'id': 2701,
            'level': 2,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 2
        },
        {
            'categoryId': 4,
            'categoryIdLevelOne': 750611487,
            'categoryIdLevelTwo': 750611488,
            'id': 2702,
            'level': 2,
            'shopId': 12430,
            'skipLayoutFlag': false,
            'status': 1
        }
    ])
    
    交集
    [...a].filter(x => [...b].some(y => y.categoryId === x.categoryId))
    
    //或者
    
    Array.from(a).filter(x => Array.from(b).some(y => y.categoryId === x.categoryId))
    
    差集
    
    [...a].filter(x => [...b].every(y => y.categoryId !== x.categoryId))
    
    去重
    
     this.selectTable = this.selectTable.reduce(function(item, next) {
            hash[next.id] ? "" : (hash[next.id] = true && item.push(next));
            return item;
          }, []);
  • 相关阅读:
    MySQL严格模式总结
    python筛选关键字---error
    将pem证书转换成p12格式证书
    ## 游戏网关源码赏析
    pid获取
    顺序io_磁盘队列
    nsq源码阅读3_编译nsqd
    nsq源码阅读2_核心数据结构
    nsq源码阅读1_目录结构
    如何设计Mqtt的Retain?
  • 原文地址:https://www.cnblogs.com/nns4/p/11348148.html
Copyright © 2011-2022 走看看