Set
定义:ES6定义的一种新的数据结构。Set是一个构造函数,用于生成set实例。
特点: 类似于数组,成员唯一
const s = new Set();
[1,2,3,4,5,6,6,].forEach( x => s.add(x));
for(let item of s){
console.log(item)
}
//1 2 3 4 5 6
Set实例的属性和方法
1.属性
Set,prototype.constructor
:构造函数,默认就是Set函数Set.prototyp.size
:返回Set实例的成员总数
2.方法
add(values)
:添加某个值,返回Set结构本身
向Set加入值不会发生类型转换,值比较类似于“===”,但是区别是认为NaN与自身相等let set = new Set(); let a = NaN; let b =NaN; set.add(a).add(b);//返回set本身则可以链式调用 set;//Set {NaN}
delete(values)
:删除某个值,返回布尔值表示是否删除成功has(values)
:是否为Set的成员,返回布尔值clear()
:清空所有成员,没有返回值3.遍历操作
keys()
:返回键名的遍历器values()
:返回值的遍历器(默认的遍历器生成函数)
Set.prototype[Symbol.iterator] === Set.prototype.values //true
entries()
:返回键值对的遍历器forEach()
:使用回调函数遍历每个成员
let set = new Set([1,2,3]);
set.forEach((<