JavaScript Map

Map 是一種鍵值對的集合,其中鍵可以是任何數據類型。

Map 會記住鍵的原始插入順序。

如何創建 Map

可以通過以下方式創建 JavaScript Map:

  1. 將數組傳遞給 new Map()
  2. 創建一個 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。