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

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.lqws.cn/news/142417.html

相关文章:

  • Python html 库用法详解
  • 【Spark征服之路-2.2-安装部署Spark(二)】
  • ajax学习手册
  • 会计 - 金融负债和权益工具
  • 腾讯云V3签名
  • Zookeeper 和 Kafka 版本与 JDK 要求
  • 从二叉树到 STL:揭开 set 容器的本质与用法
  • CIFAR10的使用
  • Vue ②-computed || watch || 指令
  • 【Algorithm】Union-Find简单介绍
  • 《区间DP》题集
  • 【十年技术演进深度解构:车载充电机(OBC)将成为新能源汽车的“能源大脑”】
  • 云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
  • 智慧照明:集中控制器、单双灯控制器与智慧灯杆网关的高效协同
  • npm install 报错:npm error: ...node_modules\deasync npm error command failed
  • python入门(1)
  • AI Agent 能否理解人类的行为和决策?
  • 单锁与分布式锁
  • 【学习记录】Linux 密码破解实战
  • 【Vue】初学Vue(setup函数,数据响应式, 脚手架 )
  • Mybatis入门到精通
  • GO语言----基础类型取别名
  • 2025 Vscode插件离线下载方式
  • HOPE800系列变频器安装到快速调试的详细操作说明
  • Python-多线程
  • Python训练打卡Day42
  • 【DVWA系列】——Brute Force(暴力破解)——low
  • C++抽象类与多态实战解析
  • Python-多线程(一)
  • 2025.6.4总结