Set的基本使用
创建并初始化Set
const m=new Set(["val1","val2","val3"])
操作Set
- 使用add增加值
const s=new Set()
s.add("val1").add("val2")
- 使用has查询值
s.has("val1") //true
- 使用size获取元素数量
s.size() //2
- 使用delete和clear删除元素
s.delete("val1") //删除指定元素
s.clear() //清空所有元素
注:其中delete方法返回集合中是否有待删除的值,存在返回true否则返回false。
set的迭代
- 使用values进行迭代
const s=new Set(["val1","val2","val3"])
for(let value of s.values()){
consile.log(value)
}
//val1
//val2
//val3
- 使用entries进行迭代
const s=new Set(["val1","val2","val3"])
for(let pair of s.entries()){
console.log(pair)
}
//["val1","val1"]
//["val2","val2"]
//["val3","val3"]
注:使用拓展操作符可以将Set集合转化为数组
const s=new Set(["val1","val2","val3"])
console.log([...s]) //[val1,val2,val3]
- 使用回调函数进行迭代
callback(val,dulval)函数中val为集合中的值,dulval复制val,还接受第二个参数thisArg重写回调函数内部this。
const s=new Set(["val1","val2","val3"])
s.forEach((val,dulval)=>console.log(`${val}:${dulval}`))
//val1:val1
//val2:val2
//val3:val3