js javascript map函數去重功能的使用實例
先上一個實戰例子代碼
var map = new Map(); for(var i=0; i<=9; i++){ map.set(i,i); } for(var i=5; i<=12; i++){ map.set(i,i); } var str = ""; //遍歷出去重后的元素值 map.forEach((value, key, self) => { str = str + " " + value; }); //顯示到頁面 $("#showdata").html(str);
Map
Map是一組鍵值對的結構,具有極快的查找速度。
創建
方法一: 創建的時候初始化
let mapObj = new Map([
['a', 1],
['b', 2],
['c', 3]
])
console.log(mapObj.size) // 3
方法二: 創建空Map,之后添加元素
let mapObj = new Map()
mapObj.set('a', 1)
mapObj.set('b', 2)
mapObj.set('c', 3)
console.log(mapObj.size) // 3
注意: Map對象的長度不是length,而是size
基礎操作
Map對象的創建、添加元素、刪除元素...
mapObj.set('a', 1) // 添加元素
mapObj.delete('d') // 刪除指定元素
mapObj.has('a') // true
mapObj.get('a') // 1
遍歷
使用上面創建的Map進行操作
forEach
同數組的forEach遍歷,三個參數分別代表: value、key、map本身
mapObj.forEach((e, index, self) => {
console.log(index, ' => ', e)
})
打印出:
a => 1
b => 2
c => 3
for-of
for (const e of mapObj) {
console.log(e)
}
打印出:
["a", 1]
["b", 2]
["c", 3]
注意: for-of遍歷出來的是一個數組,其中e[0]為key,e[1]為value