• Set集合


    Set集合,本质上就是对数组的一种包装

    例如:
     
    let imgs = new Set();
    imgs.add(1);
    imgs.add(1);
    imgs.add(5);
    imgs.add("5");
    imgs.add(new String("abc"));
    imgs.add(new String("abc"));
     
    打印的结果:
    1  5  '5'  'abc'  'abc'
     
    Set集合是默认去重复的,但前提是两个添加的元素严格相等
    所以5和"5"不相等,两个new出来的字符串不相等
     
    如何删除元素 set.delete(key)
    imgs.delete(5);
     
    imgs.delete('5');
     
    关于遍历的方法
    由于Set集合本质上还是一个map,因此会有以下几种奇怪的遍历方法
    var imgs = new Set(['a','b','c']);
     
    根据key遍历
    for(let item of imgs.keys()){
         console.log(item);
    }
    //a
    //b
    //c
     
    根据value遍历
    for(let item of imgs.values()){
         console.log(item);
    }
    //a
    //b
    //c
     
    根据key-value遍历
    for(let item of imgs.entries()){
         console.log(item);
    }
    //['a','a']
    //['b','b']
    //['c','c']
     
    普通for...of循环(for...of跟for-in的区别很明显,就是直接取值,而不再取下标了)
    for(let item of imgs){
         console.log(item);
    }
    //a
    //b
    //c
     
    set集合没有提供下标方式的访问,因此只能使用for来遍历。
     
    下面展示了一种极为精巧利用set集合对数组去重的方法
    var newarr = [...new Set(array)];
  • 相关阅读:
    初识spring
    关于导入别人的web项目,tomcat无法显示的问题
    doPost无法跳转显示信息,只能下载文件查看
    socket网络编程
    log日志文件
    第三方模块安装
    __name__ __doc__ __package__
    格式化
    导入模块
    python正则表达式补充
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/10794116.html
Copyright © 2020-2023  润新知