hand
_1_11_256
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 21:07:42
在前端开发的世界里,JavaScript 作为一门核心语言,其内置的数据结构为我们处理各种数据提供了便利。集合(Set)是 ES6 引入的一种新的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。除了集合本身的基本操作,我们还可以对集合进行扩展,实现交集、并集等方法,这在实际开发中非常实用。接下来,我们就深入探讨一下集合的交集和并集方法。
在正式介绍交集和并集方法之前,我们先简单回顾一下集合的基本使用。集合通过 Set
构造函数创建,可以使用 add
方法添加元素,使用 has
方法检查元素是否存在,使用 size
属性获取集合的大小。
// 创建一个集合
const set = new Set();
// 添加元素
set.add(1);
set.add(2);
set.add(3);
// 检查元素是否存在
console.log(set.has(2)); // 输出: true
// 获取集合大小
console.log(set.size); // 输出: 3
集合的交集是指由所有既属于集合 A 又属于集合 B 的元素所组成的集合。下面我们来实现一个计算两个集合交集的方法。
function intersection(setA, setB) {
const result = new Set();
for (const item of setA) {
if (setB.has(item)) {
result.add(item);
}
}
return result;
}
// 示例
const setA = new Set([1, 2, 3, 4]);
const setB = new Set([3, 4, 5, 6]);
const intersectSet = intersection(setA, setB);
console.log([...intersectSet]); // 输出: [3, 4]
在上述代码中,我们定义了一个 intersection
函数,它接受两个集合作为参数。通过遍历第一个集合的每个元素,检查该元素是否也存在于第二个集合中,如果存在则将其添加到结果集合中。最后返回结果集合。
集合的并集是指由所有属于集合 A 或者属于集合 B 的元素所组成的集合。下面是实现集合并集的方法。
function union(setA, setB) {
const result = new Set(setA);
for (const item of setB) {
result.add(item);
}
return result;
}
// 示例
const setC = new Set([1, 2, 3]);
const setD = new Set([3, 4, 5]);
const unionSet = union(setC, setD);
console.log([...unionSet]); // 输出: [1, 2, 3, 4, 5]
在 union
函数中,我们首先创建一个新的集合,初始值为第一个集合的元素。然后遍历第二个集合的每个元素,将其添加到新集合中。由于集合的元素是唯一的,重复的元素会被自动过滤掉,最终返回的就是两个集合的并集。
方法 | 功能 | 实现思路 |
---|---|---|
交集(intersection) | 找出两个集合中共同的元素 | 遍历一个集合,检查元素是否存在于另一个集合中,存在则添加到结果集合 |
并集(union) | 合并两个集合的元素,去除重复元素 | 创建一个新集合,初始化为第一个集合,再将第二个集合的元素添加到新集合 |
通过扩展集合的交集和并集方法,我们可以更方便地处理集合数据,提高开发效率。这些方法在处理数据去重、筛选共同元素等场景中非常实用。希望本文能帮助你更好地理解和运用集合的交集和并集方法。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~