1. 程式人生 > 實用技巧 >ES6之Set、Map

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屬性