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 循环还会枚举原型链中的属性)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值