ES6提出两种数据结构,set和Map,set的实现类似于数组,和普通数组不同之处在于Set中不能包含重复元素
var set = new Set([1,2,3,4,5])
console.log(set)//Set{1,2,3,4,5}
set.add(6)//向set添加一个值
set.delete(5)//删除一个值
set.has(6)//是否有这个值
for(var i of set){
console.log(i)//1 2 3 4 5
}
set.clear()//清除所有元素
Set 的遍历
除了用for循环遍历外,Set本身也提供了几种方法来进行遍历其中的元素
let set = new Set([1,2,4])
for(var i in set,keys){
console.log(i) //1 2 4
}
for(let i of set.values()){
console.log(i)//1 2 4
}
for(let i in set.entries){
console.log(i) //[1,1][2,2][3,4]
}
这三种方法只有entries 返回的是键值对
2.WeakSet
Weakset和Set的主要区别在于Weakset只能是对象
var weakset = new WeakSet()
weakset.add({a;1},{b:2})//success
weakset.add(1)//TypeError:...