Set:最大的特点就是数据不会重复
let setArr= new Set([1,2,5,3,5,1,5,3]);
console.log(setArr) //1,2,5,3
在Set数据结构中我们可以使用add()方法来向Set中添加数据
let setArr= new Set();
setArr.add('1')
console.log(setArr)// 1
add()方法也可以用链式的方式来添加
let setArr= new Set();
setArr.add('1').add('2').add('3')
console.log(setArr) // 1 2 3
但是不管怎么它依然不能添加会重复的数据
let setArr= new Set();
setArr.add('1')
setArr.add('1')
console.log(setArr)// 还是只有1
如果要删除一项呢?那么我们就可以使用delete()方法
let setArr= new Set();
setArr.add('1')
setArr.add('2')
setArr.delete('1')
console.log(setArr)// 2
我们同样可以检测Set数据结构中是否有某一个数据:我们可以使用has()方法来实现,有返回true,无则返回false
let setArr= new Set();
setArr.add('1')
console.log(setArr.has('1')) //true
需要查看个数的话,则用.size方式来实现就OK了
let setArr= new Set();
setArr.add('1')
setArr.add('2')
setArr.add('3')
setArr.add('4')
setArr.add('5')
console.log(setArr.size) //5
清除所有的数据:
let setArr= new Set();
setArr.add('1')
setArr.add('2')
setArr.add('3')
setArr.add('4')
setArr.add('5')
setArr.clear() //清空
Set循环:我建议大家可以用ForEach()方法来实现
let setArr= new Set();
setArr.add('1')
setArr.add('2')
setArr.add('3')
setArr.add('4')
setArr.add('5')
setArr.forEach((value,index)=>{
console.log(value,index) //1 1
}) //2 2
//3 3
//4 4
//5 5
也可以把set的数据结构变成数组,这样我们就能调用数组中的方法
let setArr= new Set([1,2,3]);
setArr = new Set([...setArr].map(val=> //用【...setArr】就能够把set结构转换成数组,这样我们就能够调用数组Map()方法了
val * 2
))
console.log(setArr) // 2 4 6