set的概述
set这个方法是es6新提出来的,这个方法类似于数组,但是set里面的值是唯一的不允许重复。
set本身是一个构造函数,里面可以存储任意类型的数据的唯一值。
set的几种常见方法
1、add():用于数据的添加。
2、delete():用于数据的删除。
3、size():用于计算set对象的大小(相当于数组的长度)。
4、clear():清空数据。
5、has():用于寻找set对象中是否存在某个值。
示例:
let set = new Set([1,1,2,3])
console.log(set); // 输出:1,2,3 原因:set方法自动去重
console.log(set.add('z')); // 输出:1,2,3,z
console.log(set.has('z')); //输出:true 原因:存在返回true,否则false
console.log(set.delete(1)); //输出:true 原因:删除成功返回true,失败返回false
set.clear();
console.log(set.size); //输出:0 原因:set.clear() 已经将对象清空
set迭代:
1、forEach
let set = new Set([1,1,2,3])
set.forEach(item=>{
console.log(item); // 输出:1,2,3
})
2、for of
这里面有三种数据可获取:键(keys)、值(values)、键值对(entries)
对应的三种方法:
*keys():获取set对象中的键。
*values():获取对象种的值。
*entries():获取对象种的键值对
示例演示:
//键==值
let set = new Set([1,1,2,3,'z'])
console.log(set);
for (const i of set.keys()){
console.log(i); //输出:1,2,3
}
for (const i of set.values()){
console.log(i); //输出:1,2,3
}
for (const i of set.entries()){
console.log(i); //输出:[1,1],[2,2],[3,3]
}