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

我們還可以使用 set() 方法在建立 Map 物件後向其中新增鍵值對,如下例所示:

<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”關聯的鍵值對。

廣告
© . All rights reserved.