• ES6 之 Set 和filter求数组交集、并集、差集


    一.Set 即ES6里一个不重复的数组,它可以接受一个数组作为参数,返回结果即可去处数组中重复的项。
    1.例如:
        let array1 = new Set([1,2,3,4,4,2]);
        console.log([...array1]);
      
    result:[1, 2, 3, 4]
    2.使用Set快速去重的方法
     
    let result = [...new Set([1,3,5,7,9,1,3])]

    result:[1,3,5,7,9]
    3.Set中的增删改查
    add(value):添加某个值,返回Set结构本身。
    delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
    has(value):返回一个布尔值,表示该值是否为Set的成员。
    clear():清除所有成员,没有返回值。
     
     
     
    二、filter 方法,filter方法是ES5中新增加的用于过滤数组的方法
     
    其使用方法如下
     
        let a = new Set([1, 2, 3]);
        //注意过滤是过滤前面那个前面那个数组,即被过滤数组
        //例如:过滤出大于 a数组里大于2的值
        let filerResult = [...a].filter((x)=>x >2 );
        console.log(filerResult);
    三、使用Set和filter求数组中的交集、并集、差集。
    <script type="text/javascript">
    
        let a = new Set([1, 2, 3]);
        let b = new Set([4, 3, 2]);
    
        //求交集,过滤出a里b里也有的
        let intersect = [...a].filter((ele) => b.has(ele));
        console.log([...intersect]);
    
        //求并集
        let union = new Set([...a, ...b]);
        console.log([...union]);
    
        //求差集 a对b的差集,过滤a数组中的元素,在b里没有的
        let difference = [...a].filter((ele) => !b.has(ele));
        console.log(difference);
    
        //求差集,b对a的差集
        let difference2 = [...b].filter((ele) => !a.has(ele));
        console.log(difference2);
    
        //注意过滤是过滤前面那个前面那个数组,即被过滤数组
        //例如:过滤出大于 a数组里大于2的值
        let filerResult = [...a].filter((x)=>x >2 );
        console.log(filerResult);
    
    
    </script>
  • 相关阅读:
    异步运行
    ES6新增----深入理解generator
    ES6新增(箭头函数)
    ES6新增(有关变量)
    I2C写时序图[转]
    kernel中,dump_stack打印调用栈,print_hex_dump打印一片内存,记录一下
    http://man.linuxde.net/ 转
    Linux网络
    Linux基础:用tcpdump抓包(转)
    指针长度问题,不同架构的指针长度不同,可能32位,也可能64位,与unsigned long长度相同
  • 原文地址:https://www.cnblogs.com/vpersie2008/p/7763575.html
Copyright © 2020-2023  润新知