set可以提供唯一的对象,在js5中针对集合提供唯一的对象是Array,Array要实现去重,有他的局限性,他必须经过计算
set为我们解决了唯一性的问题,若果你想要多次添加相同的值,他只会添加第一.次,剩下的会忽略
var col1=new Set() col1.add("banana") coli.add("banana") //忽略 Set还具有方便的方法来删除成员 col1.delete("banana") 要搞清Set是否具有一个特定值,使用has()方法 coli.has("banana") coli.has("banana")
也支持forEach方法
coli.foeEach(function(value){ console.log(value) })
可以使用es6的展开符将一个Set转化为一个数组
var arr=[...coli] console.log(arr[1]) //oranges
Set构造函数也有长度,不过他是size
var coli=new Set(["one","two","three"]) console.log(coli.size) //3
如果想要删除所有的Set成员,使用clear()
coli.clear() console.log(coli.size) //0
注意!在Set中不会做任何类型转换,只有当添加的成员是严格相等Set才不会添加