📜  JavaScript Map() 构造函数(1)

📅  最后修改于: 2023-12-03 15:01:37.985000             🧑  作者: Mango

JavaScript Map() 构造函数

JavaScript Map() 是一种内置的数据结构,用于存储键值对。它提供了一个快速且高效的方式来查找和操作数据。本文将介绍 Map() 构造函数及其用法。

构造函数和语法

使用 Map() 构造函数可以创建一个新的 Map 对象。以下是创建 Map 的语法:

let myMap = new Map();
添加键值对

可以使用 set() 方法向 Map 对象中添加键值对。以下是 set() 方法的语法:

myMap.set(key, value);

其中,key 可以是任何 JavaScript 数据类型(包括对象和函数),而 value 可以是任何类型。

示例:

let myMap = new Map();
let key1 = 'name';
let value1 = 'John';

myMap.set(key1, value1);
获取值

要获取 Map 对象中存储的值,可以使用 get() 方法。以下是 get() 方法的语法:

myMap.get(key);

示例:

let myMap = new Map();
let key1 = 'name';
let value1 = 'John';

myMap.set(key1, value1);

console.log(myMap.get(key1)); // 输出:John
检查键是否存在

可以使用 has() 方法来检查 Map 对象中是否存在指定的键。以下是 has() 方法的语法:

myMap.has(key);

示例:

let myMap = new Map();
let key1 = 'name';
let key2 = 'age';
let value1 = 'John';

myMap.set(key1, value1);

console.log(myMap.has(key1)); // 输出:true
console.log(myMap.has(key2)); // 输出:false
删除键值对

要从 Map 对象中删除键值对,可以使用 delete() 方法。以下是 delete() 方法的语法:

myMap.delete(key);

示例:

let myMap = new Map();
let key1 = 'name';
let value1 = 'John';

myMap.set(key1, value1);

myMap.delete(key1);
console.log(myMap.has(key1)); // 输出:false
遍历 Map 对象

可以使用 for...of 循环遍历 Map 对象中的键值对。以下是遍历 Map 对象的示例:

let myMap = new Map();
let key1 = 'name';
let key2 = 'age';
let value1 = 'John';
let value2 = 30;

myMap.set(key1, value1);
myMap.set(key2, value2);

for (let [key, value] of myMap) {
  console.log(key + ': ' + value);
}

输出:

name: John
age: 30
Map() vs. Object

与 JavaScript 中的普通对象相比,Map() 提供了更灵活的键和更快的查找速度。在使用对象作为键时,对象会被转换为字符串,并且会丢失对象属性的引用关系。而使用 Map() 对象作为键能够保持对象完整性。

此外,Map() 对象的遍历顺序与插入顺序一致,而对象的属性遍历顺序不固定。

总结

JavaScript Map() 构造函数提供了一种存储键值对的高效方式。它可以用于快速查找和操作数据,并提供了丰富的方法和语法来管理数据。掌握 Map() 构造函数的使用对于 JavaScript 开发人员来说是非常重要的。