如何将对象转为Map?

在前端开发中,将对象转换为Map(键值对映射)是一个常见的需求。在JavaScript中,你可以使用原生的Object.entries()方法或Object.keys()方法,配合Map构造函数来实现这一转换。

使用Object.entries()

Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for...in循环的顺序相同(两者的主要区别是for-in循环枚举原型链中的属性)。你可以直接使用这个数组作为Map构造函数的参数来创建一个新的Map对象。

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};

const map = new Map(Object.entries(obj));

console.log(map); // Map(3) { 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' }

使用Object.keys()

如果你想要更多的控制,或者想要在处理键值对时执行一些额外的逻辑,你可以使用Object.keys()方法配合数组的map()方法来创建一个包含键值对数组的数组,然后将其传递给Map构造函数。

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};

const entries = Object.keys(obj).map(key => [key, obj[key]]);
const map = new Map(entries);

console.log(map); // Map(3) { 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' }

这两种方法都可以有效地将JavaScript对象转换为Map对象。通常,Object.entries()方法更简洁、更直接,因此是首选的方法。

posted @   王铁柱6  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示