新闻中心
J*aScript中的Map与Set数据结构使用_js ES6+
Map和Set是ES6新增的集合类型,Map支持任意键类型并保持插入顺序,适合存储键值对;Set自动去重,用于唯一值集合;WeakMap和WeakSet以弱引用避免内存泄漏,适用于对象私有数据管理。

在J*aScript ES6中,Map和Set是两种新增的集合类型,它们弥补了传统对象和数组在处理键值对和唯一值集合时的不足。相比普通对象,它们更灵活、语义更清晰,尤其适合管理动态数据结构。
Map:键值对的有序集合
Map允许你使用任意类型的值作为键或值,并保持插入顺序。与普通对象只支持字符串或Symbol作为键不同,Map可以使用对象、函数甚至NaN作为键。
常用方法包括:
Dbsite企业网站管理系统1.5.0
Dbsite企业网站管理系统V1.5.0 秉承"大道至简 邦达天下"的设计理念,以灵巧、简单的架构模式构建本管理系统。可根据需求可配置多种类型数据库(当前压缩包支持Access).系统是对多年企业网站设计经验的总结。特别适合于中小型企业网站建设使用。压缩包内包含通用企业网站模板一套,可以用来了解系统标签和设计网站使用。QQ技术交流群:115197646 系统特点:1.数据与页
0
查看详情
- set(key, value):添加或更新键值对
- get(key):获取对应值
- has(key):判断是否存在该键
- delete(key):删除指定键值对
- clear():清空所有内容
- size:返回键值对数量
示例:
const map = new Map();
map.set('name', 'Alice');
map.set({id: 1}, [1, 2, 3]);
map.get('name'); // 'Alice'
map.has({id: 1}); // false(引用不同)
遍历Map:
for (const [key, value] of map) {
console.log(key, value);
}
// 或使用 forEach
map.forEach((value, key) => {
console.log(key, value);
});
Set:唯一值的集合
Set用于存储唯一值,自动去重。任何类型都可以存入Set,重复的值将被忽略。
常用方法包括:
- add(value):添加值
- has(value):检查是否存在
- delete(value):删除值
- clear():清空集合
- size:返回元素个数
示例:
const set = new Set([1, 2, 2, 3, 4, 4]);
console.log(set); // Set {1, 2, 3, 4}
set.add('hello');
set.has(1); // true
Set常用于数组去重:
const arr = [1, 2, 2, 3, 4, 4]; const uniqueArr = [...new Set(arr)]; // [1, 2, 3, 4]
WeakMap 与 WeakSet:弱引用集合
这两个变体仅接受对象作为键(WeakMap)或值(WeakSet),并且是“弱引用”,不会阻止垃圾回收。适合用于私有数据或对象元信息管理,避免内存泄漏。
特点:
- 不阻止垃圾回收
- 不可迭代
- 没有size属性或clear()方法
WeakMap 示例:
const wm = new WeakMap();
const obj = {};
wm.set(obj, 'private data');
wm.get(obj); // 'private data'
obj = null; // 对象可被回收
基本上就这些。Map和Set让J*aScript的数据操作更强大,特别是在需要唯一性或非字符串键的场景下非常实用。合理使用Weak版本还能优化内存表现。
以上就是J*aScript中的Map与Set数据结构使用_js ES6+的详细内容,更多请关注其它相关文章!
# 用它
# 商城seo优化教程
# 引流营销推广系统图
# 怎么追踪关键词排名
# 嘉兴网站建设招商
# 泰州搜索引擎产品关键词排名
# 网络营销推广老梁是谁
# 网站建设类游戏
# 自然流量seo
# 兴义花果园网站建设
# 禹州seo优化排名
# 如何用
# 多线程
# javascript
# 可选
# 有哪些
# 企业网站
# 键值
# 管理系统
# 数据结构
# 网站建设使用
# 键值对
# js
# java
# es6
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】
CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示
qq游戏手机版下载安装_qq游戏移动端入口
jQuery Mask 插件中实现电话号码固定前导零的教程
谷歌推RCS信息存档功能:公司可监控员工私密信息!
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】
探索高级语言到原生C/C++的转译:挑战与内存管理策略
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
如何将HTML表格多行数据保存到Google Sheets
凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法
学习通网页版快速入口 学习通官网网页版直接打开
CSS图片焦点样式实现教程:理解与应用tabindex属性
苹果手机如何防止被恶意App追踪
KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明
PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略
PDF文件体积过大处理_PDF压缩技巧详解
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
蛙漫移动版在线看 蛙漫手机浏览器直达入口
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相
QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问
mc.js游戏直达 mc.js网页免下载版本秒进地址
qq游戏免费畅玩入口_qq游戏电脑版快速启动
在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析
Python Socket多播通信中指定源IP地址的实践指南
2025俄罗斯Yandex最新入口 官方网站地址及浏览器下载指南
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解
AO3官方镜像站点汇总 AO3同人作品网页版直达链接
随机参数递归函数的基准调用次数与时间复杂度探究
大麦的“候补”是什么意思 大麦候补购票规则【详解】
c++如何实现单例设计模式_c++线程安全的单例模式写法
腾讯视频怎么使用多账号家庭管理_腾讯视频家庭多账号统一管理与权限分配教程
vivo浏览器怎么扫描二维码 vivo浏览器内置扫一扫功能使用方法
C#使用XPath查询节点时出错? 常见语法错误与调试技巧
Go RPC HTTP服务正确实现与常见陷阱解析
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
顺丰快递查询系统 官方正版查询入口
Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略
新手怎么开始学化妆 零基础化妆入门教程
2026年CSGO开箱网站推荐 CSGO开箱平台精选
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
J*a里如何实现订单支付与库存同步功能_支付库存同步项目开发方法说明
mcjs网页版在线存档 mcjs云存档登录入口
“音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!
qq游戏大厅官方下载_qq游戏免费下载安装入口


2025-11-02
浏览次数:次
返回列表