JavaScript - Map() 构造函数
在 JavaScript 中,Map 是一个内置对象,用于存储"键值"对,其中键和值可以是任何数据类型。在 Map 中,两个或多个键不能相同,这意味着所有键都必须唯一。
Map() 构造函数 用于创建一个新的 Map 对象。它可以通过 new 关键字调用。使用 new 关键字调用时,会创建一个新的 Map 对象。如果没有提供参数,则会创建一个空的 Map 对象。
Map() 构造函数只能使用 new 关键字构造。如果我们尝试在不使用"new"的情况下调用它,则会抛出TypeError。
语法
以下是 JavaScript Map() 构造函数的语法 -
new Map() new Map(iterable)
参数
此构造函数接受一个可选参数。其描述如下 -
iterable - 一个包含键值对的可迭代对象(例如数组或其他 Map)。每个键值对都是一个包含两个元素的数组:键和值。
返回值
初始化 Map 构造函数后,将返回一个新的 Map 对象。
示例
示例 1
在下面的示例中,我们使用 Map() 构造函数创建一个新的 Map 对象 -
<html>
<body>
<script>
const myMap = new Map([
[1, 'apple'],
[2, 'banana'],
[3, 'cherry']
]);
</script>
</body>
</html>
上述 Map 对象包含三个键值对。键分别为"1"、"2"和"3",对应的值分别为"apple"、"banana"和"cherry"。
示例 2
我们还可以在创建 Map 对象后,使用 set() 方法向其添加键值对,如下例所示 -
<html>
<body>
<script>
const myMap = new Map();
myMap.set(1, 'apple');
myMap.set(2, 'banana');
myMap.set(3, 'cherry');
</script>
</body>
</html>
"myMap"对象将包含提供的三个键值对作为元素。
示例 3
我们可以使用 get() 方法访问 Map 对象中与键关联的值,如下例所示 -
<html>
<body>
<script>
const myMap = new Map();
myMap.set(1, 'apple');
myMap.set(2, 'banana');
myMap.set(3, 'cherry');
document.write(myMap.get(1), "<br>");
document.write(myMap.get(2), "<br>");
document.write(myMap.get(3));
</script>
</body>
</html>
上述程序将打印 Map 对象中与键"1"、"2"和"3"关联的"值"。
示例 4
我们还可以使用 has() 方法检查 Map 对象中是否存在特定键,如下例所示 -
<html>
<body>
<script>
const myMap = new Map();
myMap.set(1, 'apple');
myMap.set(2, 'banana');
myMap.set(3, 'cherry');
document.write(myMap.has(2));
</script>
</body>
</html>
返回"true",因为键"2"存在于 Map 对象中。
示例 5
在此示例中,我们使用 delete() 方法从 Map 对象中删除一个键值对 -
<html>
<body>
<script>
const myMap = new Map();
myMap.set(1, 'apple');
myMap.set(2, 'banana');
myMap.set(3, 'cherry');
document.write(myMap.delete(2), "<br>"); //true
document.write(myMap.has(2)); //false
</script>
</body>
</html>
上述程序从 Map 对象中删除与键"2"关联的键值对。

