JavaScript Map 參考手冊
Map 是一種存儲鍵值對的數據結構,其中鍵可以是任何數據類型。
Map 會記住鍵的原始插入順序。
Map 方法和屬性
方法/屬性 | 描述 |
---|---|
new Map() | 創建新的 Map 對象。 |
clear() | 移除 Map 中的所有元素。 |
delete() | 通過鍵移除 Map 中的元素。 |
entries() | 返回包含 Map 中 [鍵, 值] 對的迭代器對象。 |
forEach() | 為 Map 中的每個鍵/值對調用回調函數。 |
get() | 獲取 Map 中某個鍵的值。 |
groupBy() | 根據回調函數返回的值對對象元素進行分組。 |
has() | 如果 Map 中存在某個鍵,則返回 true。 |
keys() | 返回包含 Map 中鍵的迭代器對象。 |
set() | 為 Map 中的某個鍵設置值。 |
size | 返回 Map 中元素的數量。 |
values() | 返回包含 Map 中值的迭代器對象。 |
實例
例子 1
// 創建 Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
例子 2
您可以使用 set()
方法向 Map 中添加元素:
// 創建 Map const fruits = new Map(); // 設置 Map 的值 fruits.set("apples", 500); fruits.set("bananas", 300); fruits.set("oranges", 200);
例子 3
您可以使用 get()
方法從 Map 中獲取元素:
// 獲取 "apples" 的值 let value = fruits.get("apples"); JavaScript Objects vs Maps
JavaScript 對象與 Map 的區別
JavaScript 對象與 Map 之間的區別:
對象 | Map |
---|---|
不能直接迭代 | 可以直接迭代 |
沒有 size 屬性 | 有 size 屬性 |
鍵必須是字符串(或符號) | 鍵可以是任何數據類型 |
鍵的順序不明確 | 鍵按插入順序排序 |
有默認鍵 | 沒有默認鍵 |