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




猜你喜欢

转载自blog.csdn.net/weixin_41013537/article/details/80429784