文章目录
Set
Set
对象是 ES6
新增,特点:元素不重复。
# 不可重复
let set = new Set([1,1,2]); // 不可重复
console.log(set) ;
# 区分类型
let set = new Set([1,'1',2]); // 不可重复
console.log(set)
# 构造函数传字符串
let set = new Set("abc");// 等于 new Set([..."abc"])
console.log(set)
所以 , 我们传字符串 ,需要(下面)
let set = new Set(["abc","bbb"]);
console.log(set)
# API
转载: https://blog.csdn.net/wuyujin1997/article/details/88741351
size
集合大小add(value)
- Set 添加元素。(可链式编程)has(value)
- boolean 查询元素是否存在。delete(value)
- boolean 删除clear()
- 清空forEach(callback)
- 对容器内每个元素做操作。(下面)keys()
- 用法同values(),因为set只有value列表。values()
entries()
- 不推荐。会返回两倍的set(见代码)。
# 类型转换
## 转换成数组
let set = new Set(['aaa','bbb']);
console.log(Array.from(set));
console.log([...set])
## 转换成数组 - 应用1
// 取 n 中小于5 的数(不重复)
let n = '12342345242323';
let hd = new Set(n) ;
let set = new Set([...hd].filter(item => item<5)) ;
console.log(set)
## 转换成数组 - 应用2
去重
let array = [1,1] ;
array = [... new Set(array)] ;
console.log(array)
# 遍历
## values、keys、entries
就那样
## forEach
let set = new Set(['aa' , 'bb']) ;
set.forEach((value, key, set) => {
console.log(value, key, set) ;
})
## for of
let set = new Set(['aa' , 'bb']) ;
for(const value of set ) {
console.log(value) ;
}