JavaScript Map 參考
Map 儲存鍵值對,其中鍵可以是任何資料型別。
Map 會記住鍵的原始插入順序。
示例
// 建立一個 Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
自己動手試一試 »
Map 方法和屬性
| 方法 | 描述 |
|---|---|
| new Map() | 建立一個新的 Map 物件 |
| clear() | 移除 Map 中的所有元素 |
| delete() | 移除 Map 中由鍵指定的元素 |
| entries() | 返回一個包含 Map 中 [key, value] 對的迭代器物件 |
| forEach() | 為 Map 中的每個鍵/值對呼叫回撥函式 |
| get() | 獲取 Map 中鍵對應的值 |
| groupBy() | 根據返回的回撥值對物件元素進行分組 |
| has() | 如果 Map 中存在某個鍵,則返回 true |
| keys() | 返回一個包含 Map 中鍵的迭代器物件 |
| set() | 設定 Map 中鍵對應的值 |
| 大小 | 返回 Map 中的元素數量 |
| values() | 返回 Map 中值的迭代器物件 |
您可以使用 set() 方法向 map 新增元素
示例
// 建立一個 Map
const fruits = new Map();
// 設定 Map 值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
自己動手試一試 »
您可以使用 get() 方法從 map 獲取元素
JavaScript 物件與 Map 對比
JavaScript 物件和 Map 之間的區別
| 物件 | Map |
|---|---|
| 不可直接迭代 | 可直接迭代 |
| 沒有 size 屬性 | 有 size 屬性 |
| 鍵必須是字串(或 Symbol) | 鍵可以是任何資料型別 |
| 鍵的順序不確定 | 鍵按插入順序排序 |
| 有預設鍵 | 沒有預設鍵 |