ES6语法(4)

Set

  1. 定义: 类似于数组,但是元素不能重复
  2. 创建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()
  3. 使用技巧
    (1) 基础数据类型数组去重
    let arr = [1,3,3]
    let newArr = [...new Set(arr)]  // 或者 Array.from(new Set(arr))
    console.log( newArr )  --> [1,3]
    (2) forEach/for…of..循环
    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

  1. 定义:类似于set,与set不同的是 只能存放引用类型并且如果该引用类型没有被其它对象引用,则会被GC回收(弱引用),不能被遍历
  2. 使用
    let weakSet = new WeakSet()
    
    weakSet.add({})
    
    weakSet.add(1) --> 报错

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!