ES6语法(4)
Set
- 定义: 类似于数组,但是元素不能重复
- 创建Set结构
let set = new Set() set.add(10) set.add(20) set.add(20) set.add({}) set.add({}) console.log(set) --> Set(4) { 10, 20, {}, {} } // 删除 set.delete( 值 ) // size属性,判断size长度 set.size // 判断是否有值 set.has(值) // 清空set set.clear()
- 使用技巧
(1) 基础数据类型数组去重(2) forEach/for…of..循环let arr = [1,3,3] let newArr = [...new Set(arr)] // 或者 Array.from(new Set(arr)) console.log( newArr ) --> [1,3]
let set = new Set() set.add(1) set.add(2) set.forEach( item=> { console.log(item) --> 1,2 } ) for(let item of set){ console.log(item) --> 1,2 }
WeakSet
- 定义:类似于set,与set不同的是 只能存放引用类型并且如果该引用类型没有被其它对象引用,则会被GC回收(弱引用),不能被遍历
- 使用
let weakSet = new WeakSet() weakSet.add({}) weakSet.add(1) --> 报错
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!