JavaScript的Set数据结构是什么
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,JavaScript的Set数据结构是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 什么是 SetSet 可以简单的
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
华为arm服务器上不了电
国内软件开发笔试题
数据库集群和应用集群
mes软件开发团队
网络安全周勒索病毒
亚米通信网络技术公司
棋牌比较有软件开发公
隐私安全的服务器迁移
服务器未解之谜大全
崇明区企业数据库诚信服务
顺义区大规模软件开发报价
软件开发 网络维护
武汉机架式服务器
玉溪市网络安全宣传
河南服务器电源价钱多少
为什么苹果账户无法连接服务器
软件开发科技公司经营范围
服务器反代
服务器安全更新程序
业务运维 数据库运维
筑牢网络安全 ppt
软件开发保密责任协议
台湾地区报纸数据库
服务器维修哪个质量好
网络安全审计的协议
国外服务器能备案吗
附加数据库10240
网络安全属于公共产品吗
量级服务器
业务运维 数据库运维