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

【回忆】JavaScript 中的 Map 有哪些方法

在 JavaScript 中,Map 对象是一种键值对的集合,类似于对象,但“键”可以是任何数据类型(对象或原始值)。Map 提供了多种方法来操作这些键值对。以下是 Map 对象的一些常用方法:

创建和初始化

  • new Map(): 创建一个新的空 Map 对象。
  • new Map(iterable): 使用一个可迭代的对象(如数组或其他 Map)来初始化一个新的 Map 对象。

添加和更新

  • set(key, value): 向 Map 对象中添加或更新一个键值对。返回该 Map 对象。

删除

  • delete(key): 移除 Map 对象中指定的元素。如果元素存在,则返回 true,否则返回 false
  • clear(): 移除 Map 对象中的所有元素。

获取

  • get(key): 返回指定键的值,如果不存在,则返回 undefined
  • has(key): 返回一个布尔值,表示 Map 对象中是否存在指定的键。

遍历

  • keys(): 返回一个包含 Map 对象中所有键的新迭代器对象。
  • values(): 返回一个包含 Map 对象中所有值的新迭代器对象。
  • entries(): 返回一个包含 Map 对象中所有键值对的新迭代器对象。
  • forEach(callbackFn, thisArg): 对 Map 对象中的每个键值对执行一次提供的函数。

集合操作

  • size: 返回一个表示 Map 对象中键值对数量的属性。

示例代码

// 创建一个新的 Map 对象
let myMap = new Map();// 添加键值对
myMap.set('name', 'Alice');
myMap.set('age', 25);// 获取值
console.log(myMap.get('name')); // 输出: Alice
console.log(myMap.get('age'));  // 输出: 25// 检查键是否存在
console.log(myMap.has('name')); // 输出: true
console.log(myMap.has('address')); // 输出: false// 删除键值对
myMap.delete('age');
console.log(myMap.has('age')); // 输出: false// 清除所有键值对
myMap.clear();
console.log(myMap.size); // 输出: 0// 使用迭代器
for (let [key, value] of myMap.entries()) {console.log(key, value);
}// 使用 forEach
myMap.set('name', 'Bob');
myMap.set('city', 'New York');
myMap.forEach((value, key, map) => {console.log(key + ": " + value);
});

这些方法使得 Map 对象在处理键值对时非常灵活和强大。

http://www.lryc.cn/news/475287.html

相关文章:

  • Chrome与夸克的安全性对比
  • 使用Python可视化支持向量机(SVM)
  • C++泛型编程
  • 【论文分享】利用大量街景图片研究街道空间质量与建筑环境属性之间的关联
  • 【Linux第七课--基础IO】内存级文件、重定向、缓冲区、文件系统、动态库静态库
  • 对比C/C++语言,Rust语言有什么优势?
  • Rust语言有哪些数据类型?
  • 【论文笔记】Attention Prompting on Image for Large Vision-Language Models
  • VScode设置系统界面字体
  • Java中常见的异常类型
  • Java学习Day58:相声二人组!(项目统计数据Excel图表导出)
  • springboot 自动装配和bean注入原理及实现
  • 解决Redis缓存穿透(缓存空对象、布隆过滤器)
  • 初探Flink的序列化
  • QT 机器视觉 (3. 虚拟相机SDK、测试工具)
  • 1分钟解决Excel打开CSV文件出现乱码问题
  • 基于SpringBoot+Vue的仓库管理系统【前后端分离】
  • vue和django接口联调
  • 2-141 怎么实现ROI-CS压缩感知核磁成像
  • 开源库 FloatingActionButton
  • 技术选型不当对项目的影响与补救措施
  • Spring的核心类: BeanFactory, ApplicationContext 笔记241103
  • UE5移动端主要对象生命周期及监听
  • LLM | 论文精读 | CVPR | SelTDA:将大型视觉语言模型应用于数据匮乏的视觉问答任务
  • kafka里的consumer 是推还是拉?
  • 针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法
  • 商品满减、限时活动、折扣活动的计算最划算 golang
  • vue3 + ts + element-plus 二次封装 el-table
  • python传递json参数给php
  • 2.若依vue表格数据根据不同状态显示不同颜色style