map结构转为object结构
将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 循环还会枚举原型链中的属性)