zoukankan      html  css  js  c++  java
  • ES6数组:两个数组或数组对象取并集、交集、差集记录贴

    数组

    取并集
    let a=new Set([1,2,3,4,5]);
    let b=new Set([1,2,3,4,5,6,7,8,9]);
    let arr = Array.from(new Set([...a, ...b]));
    console.log('arr',arr);

    结果


    取交集
    let a=new Set([1,2,3,4,5]);
    let b=new Set([1,2,3,4,5,6,7,8,9]);
    let arr = Array.from(new Set([...b].filter(x => a.has(x))));

    结果


    取差集
    let a=new Set([1,2,3,4,5]);
    let b=new Set([1,2,3,4,5,6,7,8,9]);
    let arr = Array.from(new Set([...b].filter(x => !a.has(x))));
    console.log('arr',arr);

    结果


    数组对象

    取交集
    let a=[{id:1,a:123,b:1234},{id:2,a:123,b:1234}];
    let b=[{id:1,a:123,b:1234},{id:2,a:123,b:1234},{id:3,a:123,b:1234},{id:4,a:123,b:1234}];
    let arr = [...b].filter(x => [...a].some(y => y.id === x.id));
    console.log('arr',arr)

    结果


    取差集
    let a=[{id:1,a:123,b:1234},{id:2,a:123,b:1234}];
    let b=[{id:1,a:123,b:1234},{id:2,a:123,b:1234},{id:3,a:123,b:1234},{id:4,a:123,b:1234}];
    let arr = [...b].filter(x => [...a].every(y => y.id !== x.id));
    console.log('arr',arr);

    结果:

    ————————————————
    版权声明:本文为CSDN博主「webfullstack」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/webfullstack/article/details/90041587

  • 相关阅读:
    ansible tower
    gitlab说明书
    新建系统配置
    docker&k8s-配置/常用命令
    Winscp隧道实现-跳板机/跨机连接
    FDM, FVM, FEM
    批量处理文件
    未来的职业规划
    内心两大矛盾
    MATLAB在Linux下的安装方法(待尝试)
  • 原文地址:https://www.cnblogs.com/loveAline/p/12366245.html
Copyright © 2011-2022 走看看