Set方法

Set是JavaScript中的一个内置数据结构,用于存储唯一值。它提供了add、delete、has和clear等操作方法,方便进行集合操作。此外,Set也支持keys、values、entries及forEach等遍历方式。在实际应用中,Set常用于数组去重、求并集、交集和差集等场景。例如,可以使用Set轻松实现数组的去重,或者通过交集和差集运算来处理两个集合的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本使用

new Set([iterable])接受一个数组,(或者具有iterable接口的其他数据结构),返回一个新的Set对象

const set = new Set([1,2,1,2])
console.log(set) // {1,2} 

上面代码可以看出Set是可以去除数组中的重复元素

属性及方法

属性
  • size:返回集合中所包含的元素的数量
console.log(new Set([1,2,1,2]).size) // 2
操作方法
  • add(value):向集合中添加一个新的项
  • delete(value):从集合中删除一个值
  • has(value):如果值在集合中存在,返回true,否则返回false
  • clear(value):移除集合中的所有项
let set = new Set()
set.add(1)
set.add(2)
set.add(2)
set.add(3)
console.log(set) // {1,2,3}
set.has(2) // true
set.delete(2)  
set.has(2) // false
set.clear() 
遍历方法
  • keys():返回键名的遍历器
  • values():返回键值的遍历器
  • entries():返回键值对的遍历器
  • forEach():使用回调函数遍历每个成员
let set = new Set([1,2,3,4])

// 由于set只有键值,没有键名,所以keys() values()行为完全一致
console.log(Array.from(set.keys())) // [1,2,3,4]
console.log(Array.from(set.values())) // [1,2,3,4]
console.log(Array.from(set.entries())) //  [[1,1],[2,2],[3,3],[4,4]]

set.forEach((item) => { console.log(item)}) // 1,2,3,4

应用场景

// 数组去重
let arr = [1, 1, 2, 3];
let unique = [... new Set(arr)];

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
    
// 并集
let union = [...new Set([...a, ...b])]; // [1,2,3,4]
    
// 交集
let intersect = [...new Set([...a].filter(x => b.has(x)))]; [2,3]
    
// 差集
let difference = Array.from(new Set([...a].filter(x => !b.has(x)))); [1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值