1. 程式人生 > >Set和WeakSet資料結構

Set和WeakSet資料結構

注意這裡不是資料型別,而是資料結構。它是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