ES6之Set、Map
阿新 • • 發佈:2020-09-04
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屬性