Set和WeakSet資料結構
阿新 • • 發佈:2018-11-08
注意這裡不是資料型別,而是資料結構。它是ES6中新的東西,並且很有用處。Set的資料結構是以陣列的形式構建的。
Set宣告(不允許重複的值存在)
let setArr = new Set(['leiy','ly','gs','dx'])
console.log(setArr);
列印結果:
Set { 'leiy', 'ly', 'gs', 'dx' }
Set值的增刪查
追加add:
在使用Array的時候,可以用push進行追加值,那Set稍有不同,它用更語義化的add進行追加。
let setArr = new Set(['leiy','ly','gs','dx']) setArr.add('web') console.log(setArr);
列印結果:
Set { 'leiy', 'ly', 'gs', 'dx', 'web' }
查詢has:
let setArr = new Set(['leiy','ly','gs','dx'])
setArr.add('web')
console.log(setArr.has('ly'));
console.log(setArr.has('v'));
列印結果:
true
false
刪除delete:
let setArr = new Set(['leiy','ly','gs','dx']) setArr.delete('gs') console.log(setArr); setArr.clear() console.log(setArr);
列印結果:
Set { 'leiy', 'ly', 'dx' }
Set {}
set的迴圈
for…of…迴圈:
let setArr = new Set(['leiy','ly','gs','dx'])
for(let i of setArr ){
console.log(i);
}
列印結果:
leiy
ly
gs
dx
forEach迴圈
setArr.forEach((val,index)=>console.log(val))
size屬性
size屬性可以獲得Set值的數量。
let setArr = new Set(['leiy','ly','gs','dx']) console.log(setArr.size);
列印結果:
4