Set的用法一
1.Set基本用法#
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成Set数据结构的。
上面代码通过add()方法向Set结构加入成员,结果表明Set不会添加重复的值。
Set函数可以j接受一个数组(或者具有其他数据结构)作为参数,用来初始化。
上面的代码中,例一和例二都是Set函数接受数组作为参数,例三是接受类似数组的对象作为参数。
上面代码也展示了一种去除数组重复成员的方法。
上面的方法也可以用于,去除字符串里面的重复字符。
向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(===),主要的区别是向 Set 加入值时认为NaN等于自身,而精确相等运算符认为NaN不等于自身。
上面代码向 Set 实例添加了两次NaN,但是只会加入一个。这表明,在 Set 内部,两个NaN是相等的。
另外,两个对象总是不相等的。
上面代码表示,由于两个空对象不相等,所以它们被视为两个值。