JavaScript的Set数据结构是什么
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,JavaScript的Set数据结构是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 什么是 SetSet 可以简单的
千家信息网最后更新 2025年11月10日JavaScript的Set数据结构是什么
JavaScript的Set数据结构是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1. 什么是 Set
Set 可以简单的看作是数学上的集合。
它是一系列无序,没有重复数值的数据集合。
2. Set 构造函数
对于 Set 的构造函数的参数,可以传递以下几种形式。
2.1) 数组
const s = new Set([1, 2, 1]);console.log(s);

这里传递了一个数组[1, 2, 1]作为参数,由于 Set 是无重复数值的集合,所以第三个 1 自动删除了。
2.2) 字符串
const s = new Set("Hello World!");console.log(s);
2.3) arguments
function fun() { const s = new Set(arguments); console.log(s);}fun(1, 2, 3);2.4) NodeList
set 1
2
3
这里将三个p标签的引用放进了Set s中;
当我们要用的时候,就可以遍历这个 Set,然后分别将p标签的引用取出来,然后就可以对p标签进行修改了。
2.5) Set
const s1 = new Set([1, 2, 3]);const s2 = new Set(s1);console.log(s2);
这里相当于把s1复制过去,给了s2,不过它们不是同一个Set
console.log(s1 === s2);
3. Set 的实例属性和方法
Set 的属性,有一个属性size,用来存储它的成员个数
const s = new Set([1, 2, 3]);console.log(s.size);
Set的方法
add
给 Set 中添加成员
const s = new Set([1, 2, 3]);// 它的参数只能传一个s.add(5);console.log(s);// 可以连缀 adds.add(7).add(9);console.log(s);
delete
用来删除 Set 中的成员
const s = new Set([1, 2, 3]);s.delete(2);// 如果要删除的东西在 Set 中找不到,将什么也不会发生,也不会报错s.delete(5);console.log(s);
has
用来判断 Set 是否含有某个成员
const s = new Set([1, 2, 3]);console.log(s.has(1));console.log(s.has(5));
clear
将会删除 Set 的所有成员
const s = new Set([1, 2, 3]);s.clear();console.log(s);
4. Set 的成员访问
它的成员访问要通过 forEach 方法实现,遍历 Set,它的遍历是按成员的添加顺序来进行遍历的。
它有两个参数,第一个参数为回调函数,第二个参数设定回调函数中this指向什么,即
s.forEach(回调函数, 回调函数的指向)
我们先来看第一个参数:
对于第一个参数回调函数,它有三个参数:
s.forEach(function(value, key, set){ value 就是 Set 的成员 在 Set 中,value 和 key 是相等的 set 就是前面Set的本身,即这里 set === s});通过一个例子理解一下:
const s = new Set([1, 2, 3]);s.forEach(function(value, key, set) { console.log(value, key, value === key); console.log(set, set === s);});再来看第二个参数:
const s = new Set([1, 2, 3]);s.forEach(function(value, key, set) { console.log(this);}, document);5. Set 的注意事项
Set 对重复值的判断基本遵循严格相等===的判断
不过对于NaN,在 Set 中,NaN 等于 NaN
6. Set 的使用场景
数组去重
let arr = [1, 2, 1];const s = new Set(arr);arr = [...s];// 也可以合成一句// arr = [...new Set(arr)];console.log(arr);
字符串去重
let str = "11231131242";const s = new Set(str);str = [...s].join("");// 也可以写成一句// str = [...new Set(str)].join("");console.log(str);存放 DOM 元素
set 1
2
3
看完上述内容,你们掌握JavaScript的Set数据结构是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
参数
成员
函数
方法
数据
三个
属性
数组
标签
数据结构
结构
内容
字符
字符串
就是
指向
数值
更多
问题
束手无策
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
x86服务器最新平台
加拿大是什么服务器
江夏专业的软件开发企业
网络安全小卫士视频讲解
西安市网络技术培训
dell入门级服务器二手价格
北京搜集客户外贸软件开发公司
宁波ios系统软件开发
吉林国产信创服务器企业
地址池网络技术
得力软件开发岗位笔试题
杭州乐客网络技术有限公司
软件开发个人奖项设置
网络技术的英文缩写
数据库和中间件工作原理
观网络安全大会有感
揭阳系统软件开发
sql数据库的参考资料
流量管家 无数据库
红警坦克风暴怎么看在哪个服务器
邮箱服务器dns
网络技术专业二本
浪潮存储服务器配置
成品软件开发测评报告
mysql是个什么的数据库系统
木瓜互联网科技布沙发清洗机
吃鸡游戏服务器怎么升级
软件开发过程的主要步骤
想做网络安全工程师怎么办
讨论网络技术