📅  最后修改于: 2023-12-03 15:01:37.985000             🧑  作者: Mango
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
可以使用 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
与 JavaScript 中的普通对象相比,Map() 提供了更灵活的键和更快的查找速度。在使用对象作为键时,对象会被转换为字符串,并且会丢失对象属性的引用关系。而使用 Map() 对象作为键能够保持对象完整性。
此外,Map() 对象的遍历顺序与插入顺序一致,而对象的属性遍历顺序不固定。
JavaScript Map() 构造函数提供了一种存储键值对的高效方式。它可以用于快速查找和操作数据,并提供了丰富的方法和语法来管理数据。掌握 Map() 构造函数的使用对于 JavaScript 开发人员来说是非常重要的。