账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    es6中,如何求数组对象的交集,差集?
    21
    0
     有以下数据:
     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
        }
    ])
    
    
    
      以上数据中,如何根据categoryId求交集:
      let union = [...new Set([...a, ...b])] 
            
      let intersect = [...new Set([...a].filter(x => b.has(x)))]
        
      intersect结果为[]!
      如果数据是:
      let a=new Set([1,2,3]);
      let b=new Set([4,3,2]);  
      结果是我想要的。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部