1.控制台输出set的实例:
let mySet=new Set()
console.log('mySet',mySet)
结果:
看到set对象的形式,和Oject对象外形长得一样都是大括号{},看到里面有一个size的属性,以及构造函数的原型对象上面有add,clear,delete,等方法。
2.往里面加点东西看看是啥样的,使用add方法
let mySet=new Set()
mySet.add('lisi')
mySet.add(12)
console.log('mySet',mySet)
结果:
现在我们看到set对象又有点像数组了,可以看到size代表set对象里面值的个数了。
3.判断set对象
console.log(Object.prototype.toString.call(mySet))
结果:
4.迭代set对象,使用forEach和for…of
let mySet=new Set(['lisi',12,{
"hobby":'eating'}])
mySet.forEach(item=>{
console.log('forEach:'+item)
})
for(let v of mySet){
console.log('forOf:'+v)
}
结果:
5.特性:对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用,所以set对象里面的值都唯一的
根据这个特性,常用于数组的去重,new Set()时可以传入数组,把数组转换成set对象,再…拓展符,把set对象分散出来放到[]里面,完成去重
let arr=[12,13,3,12,13]
console.log([...new Set(arr)])
结果: