Set想必大家是不陌生的,ES6一个较为好用的方法,和Array很像但又不同
文章主要参考阮一峰老师的 ECMAScript 6入门,站在巨人的肩膀上看世界…
Set和Array 的区别是Set不允许内部有重复的值,如果有只显示一个,相当于去重。虽然Set很像数组,但是他不是数组。
[…new Set(array)]
Set的声明
1 | let setArr = new Set(['cs','csing','web']); |
Set值的追加
在使用Array的时候,可以用push进行追加值,那Set稍有不同,它用更语义化的add进行追加。
1 | let setArr = new Set(['cs','csing','web']); |
Set值的删除
1 | let setArr = new Set(['cs','csing','web']); |
Set值的查找
用has进行值的查找,返回的是true或者false。
1 | let setArr = new Set(['cs','csing','web']); |
Set值的删除
1 | let setArr = new Set(['cs','csing','web']); |
set的for…of循环
1 | let setArr = new Set(['cs','csing','web']); |
set的size属性
size属性可以获得Set值的数量。
1 | let setArr = new Set(['cs','csing','web']); |
set的forEach循环
1 | let setArr = new Set(['cs','csing','web']); |
WeakSet的声明
WeakSet 结构与 Set 类似,也是不重复的值的集合。但是,WeakSet 的成员只能是对象,而不能是其他类型的值。
1 | let weakObj = new WeakSet(); |
在实际开发中Set用的比较多,WeakSet用的并不多,但是他对传入值必须是对象作了很好的判断,我们灵活应用还是有一定的用处的。
以上就是我对ECMAScript 6 Set的一些理解,如果文章由于我学识浅薄,导致您发现有严重谬误的地方,请一定在评论中指出,我会在第一时间修正我的博文,以避免误人子弟。