set、weakset
知识点一:set
set是ES6中一个新的数据结构,set的使用和数组是类似的,区别就是,set里没有重复项
1、定义:通过new定义
let set = new Set([1,2,3,4,5,6,7,2,1,3,5]); console.log(set);//Set(7) {1, 2, 3, 4, 5,6,7}
2、API
- add
- delete
- has
- clear
console.log( set.add(9));//Set(8) {1, 2, 3, 4, 5, 6, 7, 9} console.log( set.delete(4));//Set(7) {1, 2, 3, 5, 6, 7, 9} console.log(set.has(3));//true console.log(set.has(8));//false console.log(set.clear());//set(0){}
3、属性
set里由size属性,可以获取set的长度
console.log(set.size);//0
4、set遍历
可以通过forEach遍历set。 set里的key和value是一样的
let set = new Set([1, 2, 3, 4, 5, 6]); let iterator = set.entries(); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(set.keys()); console.log(set.values()); set.forEach((values,keys)=>{ console.log(values); })
知识点二:weakset
1、使用new WeakSet()创建
2、weakset中的每一项都是引用类型
3、常用的API
- add
- delete
- has
- clear