• JS集合操作备忘


     1 const arrA = [1,2,3];    //数组A
     2 const arrB = [2,3,4];    //数组B
     3 let result = undefined;  //结果
     4 
     5 //ES6方式
     6 let setA = new Set(arrA);
     7 let setB = new Set(arrB);
     8 
     9 //一、交集(A有,B也有)
    10 result = arrA.filter(o=>setB.has(o));
    11 console.log('ES6交集:'+result);
    12 
    13 //二、差集(A有,B没有)
    14 result = arrA.filter(o=>!setB.has(o));
    15 console.log('ES6差集:'+result);
    16 
    17 //三、并集(A有或B有)
    18 result = Array.from(new Set([...arrA, ...arrB]));
    19 console.log('ES6并集:'+result);
    20 
    21 
    22 //lodash方式
    23 //一、交集(A有,B也有)
    24 result = _.intersection(arrA,arrB);
    25 console.log('lodash交集:'+result);
    26 
    27 //二、差集(A有,B没有)
    28 result = _.difference(arrA,arrB);
    29 console.log('lodash差集:'+result);
    30 
    31 //三、并集(A有或B有)
    32 result = _.union(arrA,arrB);
    33 console.log('lodash并集:'+result);


    执行结果:

    > ES6交集:2,3
    > ES6差集:1
    > ES6并集:1,2,3,4
    > lodash交集:2,3
    > lodash差集:1
    > lodash并集:1,2,3,4


    
    
  • 相关阅读:
    hdu 3996
    poj 3189
    poj 2391
    zoj 3165
    【Visual Studio】
    httpwebrequest Winform 上传图片
    [MVC] win7 下 配置 IIS 问题
    win7 下 升级 vs2008
    [Visual Studio 2010] NET 4.0 WinForm无法引用System.Web.dll的解决方法
    [XML] XML
  • 原文地址:https://www.cnblogs.com/hollen/p/7268032.html
Copyright © 2020-2023  润新知