Set对象是值的合集(collection)。集合(set)中的元素只会出现一次,即集合中的元素是唯一的。你可以按照插入顺序迭代集合中的元素。插入顺序对应于 add() 方法成功将每一个元素插入到集合中(即,调用
add()
方法时集合中不存在相同的元素)的顺序。
Set对象常用方法
1、add() 集合内添加元素
const set=new Set()
console.log(set.add('a')) //{'a'}
console.log(set.add('b')) //{'a','b'}
console.log(set.add('b')) //{'a','b'}
console.log(set.add('c')) //{'a','b','c'}
2、forEach() 遍历集合
set.forEach(item=>{
console.log(item)
})
3、size 集合长度
console.log(set.size) // 3
4、has 判断集合是否含有某个元素
console.log(set.has('b')) // true
console.log(set.has('d')) // false
5、把集合转为数组
console.log(Array.from(set)) // ["a", "b", "c"]
console.log(set) // {"a", "b", "c"}
console.log([...set]) // ["a", "b", "c"]
6、delete 移除一个元素 并返回一个布尔值表示是否移除成功
console.log(set.delete('a')) // true
console.log(set.delete('d')) // false
console.log(set) // {"b", "c"}
7、clear 移除所有元素
set.clear()
console.log(set.size) // 0
实现数组去重
方法一:利用Set集合
const arr=[1,2,3,2,4,3,6,5,4]
const newArr=[...new Set(arr)]
console.log(newArr) // [1,2,3,4,5,6]
方法二
const arr=[1,2,3,2,4,3,6,5,4]
const newArr2=[]
arr.forEach(item=>{
if(newArr2.indexOf(item)===-1){
newArr2.push(item)
}
})
console.log(newArr2)