javascript 中的 map 对象有什么用?

javascriptfront end technologyobject oriented programming

Map 包含 键-值 对,其中键可以是任何类型。map 可以记住键的原始插入顺序。map 具有获取 map 大小的属性。map 可用于任何值,包括对象或原始数据类型。

通常,对象也可以用作 map 中的键。但 JavaScript 对象并非如此,它只允许将原始数据类型用作键。

map 中的键只能出现 一次,它在 map 集合中是 唯一的。映射对象由键值对进行迭代,for…of 循环每次迭代都会返回一个包含 [key, value] 的两个成员的数组。

创建映射

您可以通过以下方式创建 JavaScript 映射 -

1. 将数组 ay 传递给构造函数 new map()

Const name-of-variable (object) = new Map();

2. 创建映射并使用 map.set()

name-of-variable(object).set();

地图方法

以下是 JavaScript 提供的各种方法。

S.No 方法和说明
1 new map()
创建一个新的地图对象
2 Set()
设置地图中键的值
3 Get()
获取映射中某个键的值
4 Clear()
从映射中删除所有元素
5 Delete()
删除由键指定的映射元素
6 Has()
如果映射中存在某个键,则返回 true
7 ForEach()
对映射中的每个键/值对调用一次回调
8 Entries()
返回带有映射中 [键, 值] 对的迭代器对象
9 Keys()
返回带有映射中键的迭代器对象
10 Values()
返回映射中值的迭代器对象

JavaScript Map 类还具有属性"size",该属性返回映射元素的数量。

示例 1

在下面的示例中,我们通过将数组传递给 Map 类的构造函数来创建映射。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Map function</title>
</head>
<body>
   <h4>Creating a map from an array:</h4>
   <p id="demo"></p>
   <script>
      const myMap = new Map([["Rahul", 22],["Akash", 23],["Aman", 23]]);
      document.getElementById("demo").innerHTML = myMap.get("Aman");
   </script>
</body>
</html>

示例 2

在下面的例子中,我们创建了一个空地图,并使用 Map.set() 方法设置地图值。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Map function</title>
</head>
<body>
   <h4>using Map.set()</h4>
   <p id="demo"></p>
   <script>
      const myMap = new Map(); //creating empty map
      //set the value of the map
      myMap.set("Aman", 23);
      myMap.set("Akash", 22);
      myMap.set("Rahul", 21);
      document.getElementById("demo").innerHTML = myMap.get("Akash");
   </script>
</body>
</html>

示例 3

在下面的例子中,我们获取地图的大小并从地图中删除元素。删除后,我们再次检查大小。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Map Function</title>
</head>
<body>
   <h4>using Map.delete()</h4>
   <p id="demo"></p>
   <p>After Deletion</p>
   <p id="del"></p>
   <script>
      //creating empty map
      const myMap = new Map();
      
      //set the value of the map
      myMap.set("Aman", 23);
      myMap.set("Akash", 22);
      myMap.set("Rahul", 21);
      document.getElementById("demo").innerHTML = "Size of Map " + myMap.size;
      
      //Deleting one element
      myMap.delete("Aman");
      document.getElementById("del").innerHTML = "Size of Map " + myMap.size;
   </script>
</body>
</html>

示例 4

在下面的例子中,我们演示了 Map.has() 方法。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Map function</title>
</head>
<body>
   <h4>using Map.has()</h4>
   <p id="demo1"></p>
   <p id="demo2"></p>
   <p id="demo3"></p>
   <p id="demo4"></p>
   <script>
      const myMap = new Map(); //creating empty map
      //set the value of the map
      myMap.set("Aman", 23);
      myMap.set("Akash", 22);
      myMap.set("Rahul", 21);
      document.getElementById("demo1").innerHTML = myMap.has("Aman"); //true
      document.getElementById("demo2").innerHTML = myMap.has("Akash"); //true
      document.getElementById("demo3").innerHTML = myMap.has("Rahul"); //true
      document.getElementById("demo4").innerHTML = myMap.has("Anil"); //false because anil is not available on the map.
   </script>
</body>
</html>

相关文章