Set是ES6新提供的数据结构。
Set类似数组,但是成员的值都是唯一的,没有重复。
Set本身是一个构造函数,用来生成Set数据结构。

证明Set中不可以存在重复值的实例

1、如果可以存在重复值,长度应该为8.
clipboard.png

2、利用Set可以进行数组去重。
clipboard.png

NaN和{}

1、精确运算符下,NaN是不等于自身的。但是Set中认为NaN和NaN是相等的。
clipboard.png
2、可以看出在一个set结构中,添加两次NaN,最后里面只有一个NaN。但是添加两个{},会认为{}和{}是不用的对象。长度变为2.
clipboard.png

clipboard.png

Set实例的属性

Set.prototype.constructor 是指构造函数,默认是Set函数。
Set.prototype.size 返回Set实例的成员总数。

Set的操作方法

1、add() 添加某个值,返回Set结构本身。
clipboard.png

2、delete() 删除某个值,返回一个布尔值,表示删除是否成功。
clipboard.png

3、has() 表示某个参数是否是Set成员,返回布尔值。
clipboard.png

4、clear() 清除所有成员,没有返回值
clipboard.png

Set遍历操作

1、keys() 返回键名的遍历器。
clipboard.png

2、values() 返回键值的遍历器。
clipboard.png

3、entries() 返回键值对的遍历器
clipboard.png

4、forEach() 使用回调函遍历每个成员。
clipboard.png

5、数组的map和filter方法也可以用于Set。
map使用:
clipboard.png

filter使用:(filter如果不是过滤条件,会把所有的数组吐出)
clipboard.png


幸福璐
70 声望12 粉丝

余生漫长,莫要慌张。


« 上一篇
es6---对象
下一篇 »
Map数据结构

引用和评论

0 条评论