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

ES6中的Map与Set数据结构的简单应用

一、Map定义和基本用法

Map是一种键值对集合,其中键和值都可以是任何类型(对象、原始值等)。与普通对象不同,Map保持键值对的插入顺序,并且允许使用任何类型的键。

1、创建Map

const map = new Map()

2、添加键值对。语法:map.set(键名, 值)

map.set('name', 'John')
map.set(1, 'one')
map.set(true, ['boolean'])

3、获取值。语法:map.get(键名)

console.log(map.get('name')); // 输出: John
console.log(map.get(1));      // 输出: one
console.log(map.get(true));   // 输出: ['boolean']

4、检查键。

console.log(map.has('name')); // 输出: true

5、删除键值对

map.delete('name');
console.log(map.has('name')); // 输出: false

6、获取Map的大小

console.log(map.size); // 输出: 2

7、简单示例

const map = new Map()
data.failedList.forEach((item) => {if (map.has(item.failedReason)) {// 如果已存在该失败原因,取出数组并 push 当前 vinconst vinList = map.get(item.failedReason)vinList.push(item.vin)} else {// 如果不存在,初始化一个数组存储当前 vinmap.set(item.failedReason, [item.vin])}})
console.log('最终结果:', map)
//map.forEach((值, 键名) => {  
//})
map.forEach((vinLists, failedReasons) => {useMessage().error(`VIN码${vinLists.join(',')}:${failedReasons}`)
})

二、Set定义和基本用法

Set是一种值的集合,其中每个值都是唯一的,且值可以是任何类型。Set不允许重复的值。

1、创建Set

const set = new Set();

2、添加值

set.add(1);
set.add(5);
set.add(1); // 重复值不会被添加
console.log(set.size); // 输出: 2

3、检查值

console.log(set.has(1)); // 输出: true
console.log(set.has(2)); // 输出: false

4、删除值

set.delete(5);
console.log(set.has(5)); // 输出: false

http://www.xdnf.cn/news/12122.html

相关文章:

  • 如何轻松将视频从安卓设备传输到电脑?
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
  • Struts2漏洞由浅入深
  • Python数据类型与运算符全解析-Python数据挖掘可视化分析
  • DASCTF
  • QT使用WxSQLite3打开加密数据库并查询
  • 开始在本地部署自己的 Gitea 服务器
  • 【QT】使用QT帮助手册找控件样式
  • 构建云原生安全治理体系:挑战、策略与实践路径
  • 如果科技足够发达,是否还需要维持自然系统(例如生物多样性)中那种‘冗余’和‘多样性’,还是可以只保留最优解?
  • 概述侧边导航的作用与价值
  • Socket编程UDP\TCP
  • tcp/udp
  • 2025年渗透测试面试题总结-腾讯[实习]玄武实验室-安全工程师(题目+回答)
  • Elasticsearch最新入门教程
  • VSCode主题定制:CSS个性化你的编程世界
  • 自动化办公集成工具:一站式解决文档处理难题
  • day47 TensorBoard学习
  • 从二叉树到 STL:揭开 set 容器的本质与用法
  • Cursor 工具项目构建指南: Uniapp Miniprogram 环境下的 Prompt Rules 约束
  • asp.net mvc如何简化控制器逻辑
  • 论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
  • Vue.js组件开发系统性指南
  • 使用 Zabbix 官方 Nginx 模板的详细指南
  • 性能优化之SSR、SSG
  • 苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
  • flutter 中Stack 使用clipBehavior: Clip.none, 超出的部分无法响应所有事件
  • Jenkins自动化部署Maven项目
  • SpringBoot EhCache 缓存
  • 微软认证考试科目众多?该如何选择?