文章目錄
- 什么是Map
- Map和物件的區別
- Map實體的屬性和方法
- set()
- get()
- has()
- delete()
- clear()
- forEach()
- size屬性
- Map建構式
- 二維陣列
- Set
- Map
- Map注意事項
- Map的應用
- 操作DOM
什么是Map
Map和物件類似都是鍵值對的集合,
Map和物件的區別
物件一般用字串當鍵,
Map可以用數字、字串、布林值、null、undefined、陣列、物件、Set、Map等做鍵,

Map實體的屬性和方法
set()
向Map實體中添加新成員,可連續添加,
如果新成員的鍵已存在,那么新成員將會覆寫以存在的鍵,

get()
通過Map實體的鍵,來訪問其對應的值,
獲取不存在的成員回傳undefined,


has()
通過Map實體的鍵,來判斷成員是否存在,

delete()
洗掉Map實體成員,洗掉實體中不存在的成員不報錯,

clear()
清空Map實體成員,

forEach()
遍歷Map實體成員,接收兩個引數,第一個是一個回呼,回呼接收三個引數:value、key、Map,第二個引數是是this指向,

size屬性
獲取Map成員個數,

Map建構式
二維陣列

Set
Set必須體現出鍵和值,

Map
Map作為引數,傳入建構式,相當于Map實體的克隆,

Map注意事項
Map對于重復鍵的判斷基本遵循 ===,但在Map中NaN ===NaN,
Map的應用
操作DOM
<p>1</p>
<p>2</p>
<script>
const [p1,p2] = document.querySelectorAll('p');
const m = new Map([
[p1,'red'],
[p2,'blue']
]);
m.forEach((color, elem) => {
elem.style.color = color
})
</script>

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294946.html
標籤:其他
