JavaScript 中 Map 的用途是什麼?


對映

對映儲存鍵值對,並記住鍵的實際插入順序。對映只允許儲存唯一值。

語法

new Map([iterable])

情況 1:沒有 Map

如果沒有 Map,由於 JavaScript 物件只支援一個鍵物件,如果提供了多個鍵,只會記住最後一個鍵值。 在以下示例中,儘管提供了 a 和 b 等多個鍵,但只有 b 被記住並顯示為輸出。因此,為了消除這個缺點,JavaScript 中出現了“Map”。

示例

即時演示

<html>
<body>
<script>
   const x = {};
   const a = {};
   const b = {
      num:3
   }
   x[a] = "a";
   x[b] = "b";
   document.write(JSON.stringify(x));
</script>
</body>
</html>

輸出

{"[object Object]":"b"}

情況 2:有 Map

正如我們從定義中瞭解的那樣,Map 將記住鍵的實際插入順序,它會顯示所有鍵值對,例如 '{}' 為鍵,'a' 有一個值等,如輸出所示。

示例

即時演示

<html>
<body>
<script>
   const a = {};
   const b = {
      num:3
   }
   const map = new Map();
   map.set(a, "a").set(b, "b");
   for(let[key, value] of map.entries()){
   document.write(JSON.stringify(key, value)); // displaying key using Map
   document.write((key, value));               // displaying value using Map
}
</script>
</body>
</html>

輸出

{}a {"num":3}b

更新於: 2019 年 7 月 30 日

189 次瀏覽

開啟你的 職業

完成課程,獲得認證

入門
廣告