將map轉為object
const map = new Map([
[1, 1],
[2, 3]
])
map.set("kkk", "xiaokk")
function createObj(map) {
const obj = new Object();
map.forEach((item, key, map) => {
obj[key] = item
})
return obj
}
console.log(createObj(map))
//{ '1': 1, '2': 3, kkk: 'xiaokk' }
- myMap.forEach(callback[, thisArg])
資料解釋:forEach 方法將對 Map 中真實存在的每一個元素執行一次參數中提供的回調函數,它不會對任何已經被刪除的元素執行調用。然而,它還會對鍵存在而值為 undefined 的元素執行調用。
callback 函數有三個參數:
- value - 元素的值
- key - 元素的鍵
- Map - 當前正在被遍歷的對象
objet轉為map
const map_2 = new Map()
for (const [key, value] of Object.entries(obj)) {
map_2.set(key, value)
}
//Map { '1' => 1, '2' => 3, 'kkk' => 'xiaokk' }
-
使用到Object.entries();
- 方法返回一個給定對象自身可枚舉屬性的鍵值對數組,其排列與使用 for...in 循環遍歷該對象時返回的順序一致(區別在於 for-in 循環還會枚舉原型鏈中的屬性)