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 相对于对象字面量的一个重要特性,后者并不保证属性遍历的顺序。

相关推荐
kyriewen8 小时前
我用 AI 写代码快了 3 倍——然后同事的 Code Review 全变成了我的
前端·程序员·ai编程
方华世界9 小时前
企业级Java AI Agent应用平台
java·开发语言·人工智能
ujainu小9 小时前
原生性能优化:6变量实现高效桥接
开发语言·华为·性能优化·harmonyos
李明卫杭州9 小时前
Vue2 portal-target 组件与 Vue3 的针对性优化
前端·javascript·vue.js
甄同学9 小时前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
张3239 小时前
Go语言基础 Map 函数值 闭包
开发语言·golang
杜子不疼.10 小时前
【C++ 在线五子棋对战】- 会话管理模块实现
开发语言·c++
有点。10 小时前
C++深度优先搜索(DFS)的概念(一)
开发语言·c++·深度优先
时间的拾荒人10 小时前
C语言编译与链接:从源码到可执行程序的完整解析
c语言·开发语言
人道领域10 小时前
【0-1的agent进阶篇】Prompt 与上下文工程
java·开发语言·prompt·mcp