zoukankan      html  css  js  c++  java
  • Map和Set

    JavaScript的默认使用  {}  来表示对象、集合。

    Map是一个带  键  的数据项的集合,类似Object。通常是一个键对应一个值。{key:vale}

    Set是一个特殊的,只含有键(也可以称为特殊值,我感觉和map中的键差不多)的一个集合。{key}

    定义Map的方法

            let col = new Map;//创建Map
    
            col.set("Jucy",60);//使用set方法根据键存储值,
            col.set("Xiao",88)
    
            col.set("Jucy",90)//一个键只能对应一个值,如果对用多个值,会把之前的值覆盖掉
            
            let num = col.get("Xiao")//根据 键 来查找对应的值。
    
            console.log(col);
            console.log(num);
            console.log(col.size
            /**
             * map.has(key),如果key存在,返回true,否则返回false
             * map.delete(key),根据key来删除指定的值
             * map.clear(),清空这个map对象
             * map.size,返回当前元素的个数
            */    
    

      Map中的遍历方法

         let map = new Map([//在创建Map对象的时候直接传进去参数
                ["1","这是1"],
                ["2","这是2"],
                ["3","这是3"]
            ])
            console.log(map);
            //map的遍历方法
            for(let i of map.keys()){
                //遍历所有的键
                console.log(i)
            };
            for(let i of map.values()){
                //遍历所有的值
                console.log(i)
            };
            for(let i of map.entries()){
                //遍历所有的实体,
                //这里 .entries()可以省略,只写对象名称默认是遍历所有实体。
                console.log(i)
            }

    定义Set

    let set = new Set([1,2,3,3,3,"3",[3]]);
            console.log(set);
            //Set(5) {1, 2, 3, "3", Array(1)};中间重复的3会被省略掉,但是 不能数据类型的则不会
            set.add(5)
               .add(6);//通过add方法来添加键,可以链式操作
            console.log(set);//
            set.delete(6)//删除指定key
    
            //在Map中的方法同样也在Set中支持

    Set和Map类似,也是一组key的集合,但是不存储value。所以Set'中的数据是不能够重复的

  • 相关阅读:
    python函数函数嵌套分析步骤与递归函数
    解决Navicat运行sql文件报错:1292
    SOAP与REST,有什么不同?
    bcrypt vs crypto vs cryptojs
    bcryptjs加密如何工作
    AOP(面向切面编程)
    javascript语言搞笑图
    js中函数声明先提升还是变量先提升
    CSS的单位及css3的calc()及line-height百分比
    Vue 项目性能优化 — 实践指南(网上最全 / 详细)
  • 原文地址:https://www.cnblogs.com/mwxz/p/13359747.html
Copyright © 2011-2022 走看看