JavaScript Map
Map 是一種鍵值對的集合,其中鍵可以是任何數據類型。
Map 會記住鍵的原始插入順序。
如何創建 Map
可以通過以下方式創建 JavaScript Map:
- 將數組傳遞給
new Map()
。 - 創建一個 Map 并使用
Map.set()
。
new Map() 方法
可以通過將數組傳遞給 new Map()
構造函數來創建 Map:
實例
// 創建一個 Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
set() 方法
可以使用 set()
方法向 Map 添加元素:
實例
// 創建一個 Map const fruits = new Map(); // 設置 Map 值 fruits.set("apples", 500); fruits.set("bananas", 300); fruits.set("oranges", 200);
set()
方法也可以用于更改現有的 Map 值:
實例
fruits.set("apples", 200);
get() 方法
get()
方法獲取 Map 中鍵的值:
實例
fruits.get("apples"); // 返回 500
Map 是對象
typeof
返回 object:
實例
// 返回 object: typeof fruits;
instanceof Map
返回 true:
實例
// 返回 true: fruits instanceof Map;
JavaScript 對象與 Map 的區別
以下是 JavaScript 對象與 Map 的區別:
對象 | Map |
---|---|
不可直接迭代 | 可直接迭代 |
沒有 size 屬性 | 有 size 屬性 |
鍵必須是字符串或 Symbol | 鍵可以是任何數據類型 |
鍵的順序不明確 | 鍵按插入順序排序 |
有默認鍵 | 沒有默認鍵 |
完整的 Map 參考手冊
如需完整參考,請訪問我們的:JavaScript Map 參考手冊。
該手冊包含所有 Map 屬性和方法的描述和實例。
瀏覽器支持
Map 是 ES6 的特性(JavaScript 2015)。
自 2017 年 6 月起,所有現代瀏覽器均支持 ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支持 Map。