ES6 - 常用整理

map

创建Map实例的两种方法

//1.
var map = new Map();
map.set('one', 1);
map.set('two', 2);
map.set('three', 3);
//...    

//2.
var map = new Map([['one',1], ['two', 2], ['three', 3]]);

Get & Set

var map = new Map();
map.set(Number('aa111'), 'isNaN');
map.set(Number('bb222'), 'also is NaN');
map.get(NaN);    //'also is NaN'
map.has(1); // true

方法

  • 移除Map对象的所有键值对

    console.log(map.size);    //3
    map.clear();
    console.log(map.size);    //0
  • 移除任何与键相关联的值

    console.log(map.has(1));    //true
    map.delete(1);
    console.log(map.has(1));    //false
  • 遍历

    map.forEach(function(value, key, mapObj) {
      console.log(value + '---' + key + '---' + mapObj);
      //value - Map对象里每一个键值对的值
      //key - Map对象里每一个键值对的键
      //mapObj - Map对象本身
      console.log(this); //this === window
    });
  • for..of方法迭代映射

      var map = new Map();
      map.set(1, 'one');
      map.set(2, 'two');
      for (var [key, value] of map) {
          console.log(key + '---' + value);
      }
      // 1 --- one 2 --- two
    
      for (var key of map.keys()) {
          console.log(key);
      }
      // 1 2
    
      for (var value of map.values()) {
          console.log(value);
      }
      // 'one' 'two'

参考链接

@2018-04-02 23:37