• ES6 Map/WeakMap


    最近项目用ES6来写,许多语法都要逐步熟悉呀,今天收藏下Map用法

    1、Map构造器

    // 字符串作为key, 和JS对象类似
    
    var map = new Map()
    
    // set
    
    map.set('name', 'John')
    
    map.set('age', 29)
    
    // get
    
    map.get('name') // John
    
    map.get('age')  // 29
    
    
    // 对象作为key演示
    
    var xy = {x: 10, y: 20}   // 坐标
    
    var wh = {w: 100, h: 200} // 宽高
    
    var map = new Map()
    
    // set
    
    map.set(xy, '坐标')
    
    map.set(wh, '宽高')
    
    // get
    
    map.get(xy) // '坐标'
    
    map.get(wh) // '宽高'
    View Code

    Map构造器还支持传数组方式

     1 var map = new Map([["name", "John"], ["age", "29"]])
     2 
     3  
     4 
     5 // 遍历key
     6 
     7 for (var key of map.keys()) {
     8 
     9     console.log(key) // name, age
    10 
    11 }
    View Code

    2. 迭代

    和Set一样用for of来迭代Map,键调用map.keys(),值调用map.values(),键值实体调用map.entries()

     1 var map = new Map()
     2 
     3 // set
     4 
     5 map.set('name', 'John')
     6 
     7 map.set('age', 29)
     8 
     9 // get
    10 
    11 map.get('name') // 'John'
    12 
    13 map.get('age')  // 29
    14 
    15  
    16 
    17 // 遍历key
    18 
    19 for (var key of map.keys()) {
    20 
    21     console.log(key)
    22 
    23 }
    24 
    25  
    26 
    27 // 遍历value
    28 
    29 for (var val of map.values()) {
    30 
    31     console.log(val)
    32 
    33 }
    34 
    35  
    36 
    37 // 遍历实体
    38 
    39 for (var arr of map.entries()) {
    40 
    41     console.log('key: ' + arr[0] + ', value: ' + arr[1])
    42 
    43 }
    44 
    45  
    46 
    47 // 遍历实体的简写
    48 
    49 for (var [key, val] of map.entries()) {
    50 
    51     console.log('key: ' + key + ', value: ' + val)
    52 
    53 }
    View Code

    3. 方法和属性

    map.clear

    map.delete

    map.entries

    map.forEach

    map.get

    map.has

    map.keys

    map.set

    map.size

    map.values

    原文:http://www.cnblogs.com/snandy/p/4519768.html

  • 相关阅读:
    C#常用错误
    服务器应用程序不可用
    iis设置asp站点
    观看列表
    make otapackage出错
    ubuntu network is unreachable解决办法
    ubuntu10.04主题
    ubuntu10.04 adb和jdk环境变量设置
    ubuntu-硬盘分区、格式化、自动挂载配置
    apk安装过程
  • 原文地址:https://www.cnblogs.com/Anlycp/p/5464760.html
Copyright © 2020-2023  润新知