1. 程式人生 > 實用技巧 >set、weakset

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