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 循环还会枚举原型链中的属性)
posted @ 2020-08-12 10:48  阿臻  阅读(1631)  评论(0编辑  收藏  举报