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