当前位置: 首页 > news >正文

JS里对于集合的简单介绍

JS的集合

  • 前言
  • 一、集合
  • 二、基本使用
    • 1. 创建集合
    • 2. 添加元素
    • 3. 删除元素
    • 4. 检查元素
    • 5. 清空集合
    • 6. 集合的大小
  • 三、扩展使用
    • 1. 遍历集合
    • 2. 从数组创建集合
    • 3. 集合的应用场景
  • 四、总结


前言

JS里对于集合的简单介绍
同数学的集合,有无序性、唯一性

注意:无法获取某个元素的下标,因为无序性
所以对于某些情况:
例如:求两数之和时,需要使用到下标,此时不适合使用集合,可以使用Map


一、集合

在 JavaScript 中,集合(Set)是一种非常有用的数据结构,用于存储独特的值,这些值可以是原始值或对象引用。集合的主要特点是它保证了集合中所有的值都是唯一的,因此在处理需要去重的数据时非常有效。

二、基本使用

1. 创建集合

可以通过 new Set() 来创建一个新的集合

// 创建空集合
const set1 = new Set();

// 用数组初始化集合
const set2 = new Set([1, 2, 3, 3]); // 自动去重,结果为{1, 2, 3}

// 用字符串初始化
const set3 = new Set("hello"); // {"h", "e", "l", "o"}

// 用DOM对象初始化
const lis = document.querySelectorAll('li');
const setLi = new Set(lis);

2. 添加元素

使用 add() 方法向集合中添加元素

mySet.add(1);
mySet.add(2);
mySet.add(3);
console.log(mySet); // Set { 1, 2, 3 }

如果尝试添加重复的元素,集合会自动忽略

mySet.add(2);
console.log(mySet); // Set { 1, 2, 3 },2 只会出现一次

3. 删除元素

使用 delete() 方法从集合中删除元素

mySet.delete(2);
console.log(mySet); // Set { 1, 3 }

4. 检查元素

可以使用 has() 方法检查集合中是否包含特定元素

console.log(mySet.has(1)); // true
console.log(mySet.has(2)); // false

5. 清空集合

使用 clear() 方法可以移除集合中的所有元素

mySet.clear();
console.log(mySet); // Set {}

6. 集合的大小

使用 size 属性可以获取集合中元素的数量:

const mySet = new Set(1, 2, 3)
console.log(mySet.size); // 3

三、扩展使用

1. 遍历集合

可以使用 forEach 方法或 for…of 循环遍历集合中的元素:

mySet.add(1);
mySet.add(2);

mySet.forEach(value => {
    console.log(value); // 输出 1 和 2
});

for (const value of mySet) {
    console.log(value); // 输出 1 和 2
}

2. 从数组创建集合

可以将数组传递给 Set 构造函数,以自动去重数组中的元素

const uniqueArray = new Set([1, 2, 2, 3, 4]);
console.log(uniqueArray); // Set { 1, 2, 3, 4 }

如果需要将集合转换重新为数组,可以使用 Array.from() 或扩展运算符( … )

const uniqueArrayBack = Array.from(uniqueArray);
console.log(uniqueArrayBack); // [1, 2, 3, 4]

const uniqueArrayBack2 = [...uniqueArray];
console.log(uniqueArrayBack2); // [1, 2, 3, 4]

3. 集合的应用场景

  1. 去重: 当你需要从一个数组中去掉重复的元素时,可以使用 Set。
  2. 检查唯一性: 快速检查一个元素是否已经在集合中。
  3. 集合运算: Set 也可以被用来实现集合运算,例如交集、并集和差集等。

示例:集合运算
下面的示例展示了如何使用集合来计算两个数组的交集

function intersect(arr1, arr2) {
    const set1 = new Set(arr1);
    const set2 = new Set(arr2);
    const intersection = [];

    set2.forEach(value => {
        if (set1.has(value)) {
            intersection.push(value);
        }
    });

    return intersection;
}

const array1 = [1, 2, 3, 4];
const array2 = [3, 4, 5, 6];
console.log(intersect(array1, array2)); // 输出: [3, 4]

四、总结

JavaScript 中的集合(Set)提供了一种简单且高效的方式来处理具有唯一特性的值。它的易用性和强大功能使其在处理数据去重、唯一性检查和集合运算等方面非常有用。通过掌握 Set 的基本特性和方法,可以在 JavaScript 编程中更好地处理数据。

相关文章:

  • CFS 调度器两种调度类型普通调度 和 组调度
  • 2025蓝桥杯python A组题解
  • spring常见注解
  • VMware Fusion Pro/Player 在 macOS 上的完整安装与使用指南
  • SAP GUI 显示SAP UI5应用,并实现SSO统一登陆
  • 华为hcie证书的有效期怎么判断?
  • 并发编程--条件量与死锁及其解决方案
  • Python及C++中的排序
  • 免费下载 | 2025清华五道口:“十五五”金融规划研究白皮书
  • [CF2086E] Zebra-like Numbers 题解
  • PHP多维数组
  • 对shell脚本敏感命令进行加密执行
  • PyTorch模型构造实战:从基础到复杂组合
  • 力扣刷题DAY12(动态规划-区间DP)
  • AUTO-RAG: AUTONOMOUS RETRIEVAL-AUGMENTED GENERATION FOR LARGE LANGUAGE MODELS
  • 用Java实现O(n)时间复杂度查找最长连续序列
  • 【特权FPGA】之SRAM读写
  • C语言--汉诺塔问题
  • 软考 系统架构设计师系列知识点之杂项集萃(50)
  • asm汇编源代码之按键处理相关函数
  • 做网站有哪个空间/网页制作素材模板
  • 汕头网站建设公司/百度客服电话
  • 动态网站开发相关技术/百度推广优化方案
  • 博客自助建站/抖音推广平台联系方式
  • 眉山网站建设公司/培训网站模板
  • 背景网站建设/设计公司