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

  • 相关阅读:
    Nodejs express框架 浅析
    Nodejs 基础知识 浅析
    Angular1 基础知识 浅析(含锚点)
    canvas2D 基础知识 浅析
    1018 内置对象
    1017 内置对象
    1016 Repeater-重复器
    1014 简单控件和复合控件
    1013 认识WebForm
    0929 MDI窗体容器 权限设置
  • 原文地址:https://www.cnblogs.com/loveAline/p/12366245.html
Copyright © 2011-2022 走看看