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

  • 相关阅读:
    [算法]位运算问题之二
    [算法]位运算问题之一
    [算法]海量数据问题之二
    [算法]海量数据问题之一
    [算法]旋转词问题
    [算法]去掉字符串中连续出现的k个0子串
    [算法]字符串中数字子串的求和
    [算法]字符串之变形词问题
    Linux常用命令
    数据库中的事物
  • 原文地址:https://www.cnblogs.com/loveAline/p/12366245.html
Copyright © 2011-2022 走看看