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
廣告