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'中的数据是不能够重复的

  • 相关阅读:
    Leetcode 50.Pow(x,n) By Python
    Leetcode 347.前K个高频元素 By Python
    Leetcode 414.Fizz Buzz By Python
    Leetcode 237.删除链表中的节点 By Python
    Leetcode 20.有效的括号 By Python
    Leetcode 70.爬楼梯 By Python
    Leetcode 190.颠倒二进制位 By Python
    团体程序设计天梯赛 L1-034. 点赞
    Wannafly挑战赛9 C-列一列
    TZOJ Start
  • 原文地址:https://www.cnblogs.com/mwxz/p/13359747.html
Copyright © 2011-2022 走看看