zoukankan      html  css  js  c++  java
  • ES6-

    Map和Set 是 ES6 中新增的一种数据结构。Map为类似于Object的键值对结构,Set为成员唯一的类数组结构。以Map为例介绍两种数据结构的遍历方法。for...of

    var map = new Map([ ['age', 19], ['height', 180] ]);

    或使用set()函数:var map = new Map();
    map.set('age',19).set('height',180);
     
    var set = new Set( [1, 2, 3, 4, 2, 1] ); //接收一个数组作为初始化
    [...set] //[1,2,3,4]
    或使用add()函数: var set = new Set();
    set.add(1).add(2);
     
    //由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
    for (let key of map.keys()) { console.log(key); } 
    for (let value of map.values()) { console.log(value); } for (let item of map.entries()) { console.log(`${ item[0] }: ${ item[1] }`); }
    map.forEach((key, value, map) => {
      console.log(`${ key }: ${ value }`);
    });
    
    // forEach 的第二个参数用来绑定this绑定 this
    var reporter = {
      report(key, value) {
        console.log(`${ key }: ${ value } by reporter object.`);
      }
    }
    map.forEach(function (key, value) {// 使用箭头函数会导致这个 this 是 undefined 
    this.report(key, value);
    }, reporter)
    //Set 结构没有以下方法
    for (let [key, value] of map.entries()) {
      console.log(`${ key }: ${ value }`);       
    }
    
    for (let [key, value] of map) {                
      console.log(`${ key }: ${ value }`);
    }
    
    数据结构间的相互转化:
    Map->数组 [...map]
    数组->Map new Map([1,2])
    Map->object:

      for ( let [ key, value ] of map.entries() ){
        obj[key] = value;
      }

    Object->Map:

      let map1 = new Map();
      for ( let item in a ){
        map1.set( item,a[item] )
      }










  • 相关阅读:
    Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
    @@ROWCOUNT (Transact-SQL)
    C#调用存储过程简单完整例子
    C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
    C#反射技术的简单操作(读取和设置类的属性)
    .NET调用Java写的WebService
    蓝牙错误提示
    sql开启xp_cmdshell
    网页手机宽度
    对称加密算法比较
  • 原文地址:https://www.cnblogs.com/telnetzhang/p/7272858.html
Copyright © 2011-2022 走看看