zoukankan      html  css  js  c++  java
  • ES6__数据结构 Map

    /*
     数据结构 Map
    */
    /*
    * 字典:是用来存储不重复的key的hash结构。不同于集合(Set)的是,字典使用的是[键,值]的形式来储存数据的。
    *javaScript 的对象(Object:{})只能用字符串当作键。这给它的使用带来了很大的限制。
    *为了解决这个问题,Es6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object结构提供了
    “字符串-值”的对应,Map结构提供了“值-值”的对应,是一种更完善的hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。
    */
    // 1 如何创建一个Map
    const map = new Map({
        ['a',1],
        ['b',2]
    })
    console.log(map)
    // 2 Map的属性
    console.log(map.size)
    // 3 Map 类的方法
    // 1.set(key,value)设置键名key对应的键值为value,然后返回整个Map结构。如果key已经有值,则键值会被更新,否则就新生成该键。
    map.set('xiao','shang').set('xie','shen').set('xiao','ming');
    console.log(map)
    // 2.get(key) get方法读取key对应的键值,如果找不到key,返回undefind.
    console.log(map.get('xie'));
    console.log(map.get('x'));
    // 3.delete(key)删除某个键,返回true。如果删除失败,返回false
    console.log(map.delete('a'))
    console.log(map)
    console.log(map.delete('a'))
    // 4.has(key) 方法返回一个布尔值,表示某个键是否在当前Map对象之中。
    console.log(map.has('a'));
    console.log(map.has('xiao'));
    // 5.clear() 清除所有数据,没有返回值。
    // map.clear();
    // console.log(map);
    // 6.keys() 返回键名的遍历器
    console.log(map.keys())
    // 7.values() 返回键值的遍历器
    console.log(map.values())
    // 8.entries() 返回键值对的遍历器
    console.log(map.entries())
    // 9.forEach() 使用回调函数遍历每个成员
    map.forEach(function(key,value,map){
        console.log(key + ':' value)
    })
    //Map 在使用过程中的一些注意事项:
    map.set(NaN,10).set(NaN,100);
    console.log(map); //NaN 100
    map.set({},'x').set({},'y');
    console.log(map);
    console.log({} === {}) //false
    
    //map里面的key的排列顺序是按照添加顺序进行排列的。
  • 相关阅读:
    Ajax 笔记
    Node.js笔记
    Linux 简介与安装
    安装 Git for Windows
    Git学习:版本控制、Git简介与安装
    Git学习:基本设置、基本操作与工作原理
    JAVA:一篇文章理清多态
    浅入浅出数据结构(25)——最小生成树问题
    浅入浅出数据结构(24)——最短路径问题
    浅入浅出数据结构(23)——图的概念、存储方式与拓扑排序
  • 原文地址:https://www.cnblogs.com/xiaozhishang/p/8759574.html
Copyright © 2011-2022 走看看