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

相关推荐
wjs20241 小时前
状态模式(State Pattern)
开发语言
我命由我123451 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle1 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜3 小时前
ART配对软件使用
开发语言·c++·qt·算法
灵感__idea4 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员
烛阴5 小时前
Mix
前端·webgl
爱装代码的小瓶子5 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
代码续发5 小时前
前端组件梳理
前端
试图让你心动6 小时前
原生input添加删除图标类似vue里面移入显示删除[jquery]
前端·vue.js·jquery
陈不知代码6 小时前
uniapp创建vue3+ts+pinia+sass项目
前端·uni-app·sass