ES6之Set、Map

1、Set

  一个新的数据结构,类似于数组
  跟数组的区别:Set里面的值不会重复

用法

  let set = new Set([1,2,3,4,5,6]);

API

  1、增加 add()
  set.add(80);

  2、删除 delete()
  set.delete(32);
  
  3、判断是否存在 has()
  console.log(set.has(23));
  
  4、清空 clean
  set.clean();
  console.log(set);  
  5、size属性
  6、entries()、keys()、values()遍历的方法

2、WeakSet

  特点: 只能是引用类型

用法

  let weakset = new WeakSet([{'name':'名字'}]);

注意

1、  提供了add()、delete()、has()方法  作用和用法跟set一样。
2、  WeakSet 结构不可以遍历,因为成员都是对象的弱引用,随时会被回收机制回收,成员消失,所以没有entries()、key()、values()、forEach()等
  方法和size属性。

*******************************************************************
1、Map

  Map的key键非常之灵活-可以是各种数据类型

用法

  let map = new Map();

  初始化:
  let m = new Map([['name','前端程序员'],['gender',1]]);

API

  1、set()
  m.set('age',28);

  2、get()
  m.get('name');
  m.get('age');

  3、delete()
  m.delete('name');      

  4、clear()
  m.clear()

  5、has()方法
  m.has('name');
  
  6、entries()
  for(let [key,value] of m.entries()){
        console.log(key+'  '+value);
  }
    
   keys() 、values()、forEach()

WeakMap

  特点: 1、键是引用类型!
         2、不支持clear、不支持遍历、没有 keys、values、entries、forEach和size属性
原文地址:https://www.cnblogs.com/qianqiang0703/p/13610988.html