• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共299篇

    前端 - Javascript

关闭

返回栏目

关闭

返回前端 - Javascript栏目

256 - 集合方法扩展 - 集合新方法 - 集合交集、并集方法

作者:

贺及楼

成为作者

更新日期:2025-02-21 21:07:42

集合方法扩展 - 集合新方法 - 集合交集、并集方法

在前端开发的世界里,JavaScript 作为一门核心语言,其内置的数据结构为我们处理各种数据提供了便利。集合(Set)是 ES6 引入的一种新的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。除了集合本身的基本操作,我们还可以对集合进行扩展,实现交集、并集等方法,这在实际开发中非常实用。接下来,我们就深入探讨一下集合的交集和并集方法。

集合基础回顾

在正式介绍交集和并集方法之前,我们先简单回顾一下集合的基本使用。集合通过 Set 构造函数创建,可以使用 add 方法添加元素,使用 has 方法检查元素是否存在,使用 size 属性获取集合的大小。

  1. // 创建一个集合
  2. const set = new Set();
  3. // 添加元素
  4. set.add(1);
  5. set.add(2);
  6. set.add(3);
  7. // 检查元素是否存在
  8. console.log(set.has(2)); // 输出: true
  9. // 获取集合大小
  10. console.log(set.size); // 输出: 3

集合交集方法

集合的交集是指由所有既属于集合 A 又属于集合 B 的元素所组成的集合。下面我们来实现一个计算两个集合交集的方法。

  1. function intersection(setA, setB) {
  2. const result = new Set();
  3. for (const item of setA) {
  4. if (setB.has(item)) {
  5. result.add(item);
  6. }
  7. }
  8. return result;
  9. }
  10. // 示例
  11. const setA = new Set([1, 2, 3, 4]);
  12. const setB = new Set([3, 4, 5, 6]);
  13. const intersectSet = intersection(setA, setB);
  14. console.log([...intersectSet]); // 输出: [3, 4]

在上述代码中,我们定义了一个 intersection 函数,它接受两个集合作为参数。通过遍历第一个集合的每个元素,检查该元素是否也存在于第二个集合中,如果存在则将其添加到结果集合中。最后返回结果集合。

集合并集方法

集合的并集是指由所有属于集合 A 或者属于集合 B 的元素所组成的集合。下面是实现集合并集的方法。

  1. function union(setA, setB) {
  2. const result = new Set(setA);
  3. for (const item of setB) {
  4. result.add(item);
  5. }
  6. return result;
  7. }
  8. // 示例
  9. const setC = new Set([1, 2, 3]);
  10. const setD = new Set([3, 4, 5]);
  11. const unionSet = union(setC, setD);
  12. console.log([...unionSet]); // 输出: [1, 2, 3, 4, 5]

union 函数中,我们首先创建一个新的集合,初始值为第一个集合的元素。然后遍历第二个集合的每个元素,将其添加到新集合中。由于集合的元素是唯一的,重复的元素会被自动过滤掉,最终返回的就是两个集合的并集。

总结

方法 功能 实现思路
交集(intersection) 找出两个集合中共同的元素 遍历一个集合,检查元素是否存在于另一个集合中,存在则添加到结果集合
并集(union) 合并两个集合的元素,去除重复元素 创建一个新集合,初始化为第一个集合,再将第二个集合的元素添加到新集合

通过扩展集合的交集和并集方法,我们可以更方便地处理集合数据,提高开发效率。这些方法在处理数据去重、筛选共同元素等场景中非常实用。希望本文能帮助你更好地理解和运用集合的交集和并集方法。