JavaScript---new Map()用法

new Map

在JavaScript中,Map 是一个构造函数,用于创建 Map 对象,它可以存储键值对集合。与普通的对象不同,Map 的键可以是任何类型的值,包括函数、对象或任意基本类型。

以下是如何创建和使用 Map 的一些基本操作:

创建 Map 对象

javascript 复制代码
let map = new Map();

设置键值对

使用 set() 方法添加键值对:

javascript 复制代码
map.set('key1', 'value1');
map.set('key2', 'value2');
map.set(123, 'value3');
map.set({}, 'value4');

获取值

使用 get() 方法根据键获取值:

javascript 复制代码
console.log(map.get('key1')); // 输出: value1
console.log(map.get(123));    // 输出: value3

检查键是否存在

使用 has() 方法检查键是否存在:

javascript 复制代码
console.log(map.has('key1')); // 输出: true
console.log(map.has('key5')); // 输出: false

键值对数量

使用 size 属性获取键值对的数量:

javascript 复制代码
console.log(map.size); // 输出: 4(如果之前的赋值都执行过的话)

删除键值对

使用 delete() 方法删除指定键的键值对:

javascript 复制代码
map.delete('key1'); // 删除 'key1'

清空所有键值对

使用 clear() 方法清空所有键值对:

javascript 复制代码
map.clear(); // 清空 map 中的所有键值对

迭代 Map

Map 对象可以使用 forEach() 方法进行迭代,也可以使用 for...of 循环迭代其键值对:

javascript 复制代码
map.forEach((value, key) => {
  console.log(`${key}: ${value}`);
});

// for...of 循环来迭代键值对
for (let [key, value] of map) {
  console.log(`${key}: ${value}`);
}

// 只迭代键
for (let key of map.keys()) {
  console.log(key);
}

// 只迭代值
for (let value of map.values()) {
  console.log(value);
}

Map 对象保持了键值对的插入顺序,这意味着在迭代时,键值对会按照插入的顺序返回。这是 Map 相对于对象字面量的一个重要特性,后者并不保证属性遍历的顺序。

相关推荐
zhanghongbin018 分钟前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
良木生香9 分钟前
【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载
开发语言·c++
忘梓.11 分钟前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u11 分钟前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
IT_陈寒13 分钟前
Python的列表推导式里藏了个坑,差点让我加班到凌晨
前端·人工智能·后端
星河耀银海14 分钟前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++
cccccc语言我来了18 分钟前
【C++---unordered_set/map底层封装】个不拘一格的集合。它不似有序集合那般循规蹈矩,而是以一种洒脱不羁的方式,将元素们随意地散落其中。每一个元素都是独一无二的。
开发语言·c++·哈希算法
Zfox_18 分钟前
C++ IO流全解析:标准库中的数据处理与文件读写艺术
开发语言·c++
加号318 分钟前
【C#】实现沃德普线光控制器通信控制(附完整源码)
开发语言·c#
吴声子夜歌21 分钟前
ES6——正则的扩展详解
前端·mysql·es6