ES11 中如何使用 Object.fromEntries() 将 Map 转为 Object

阅读时长 3 分钟读完

在前端开发中,经常需要在不同数据结构之间进行转换,其中一种常见的需求是将 Map 转换成 Object。在 ES11 中,新增了一个方便的方法 Object.fromEntries(),可以快速地将 Map 转换成 Object。本文将详细介绍该方法的用法和示例。

Object.fromEntries() 的语法和参数

Object.fromEntries() 方法用于将一个由键值对组成的数组或可迭代对象转换为一个对象,其语法如下:

其中,iterable 表示一个可迭代对象或者键值对数组。

Object.fromEntries() 的使用场景

在前端中,经常需要使用 Map 来存储一些键值对数据,例如从服务端接收到的 API 数据。但在一些情况下,需要将 Map 转换为 Object 进行操作。由于 Map 和 Object 的数据结构不同,不能直接进行转换,需要使用一些方法进行转换。在 ES11 中,新增了 Object.fromEntries() 方法,可以直接将 Map 转换为 Object,简化了数据转换的过程,提高了编码效率。

Object.fromEntries() 的应用示例

将 Map 转换为 Object

下面是一个将 Map 转换为 Object 的示例:

在上述示例中,我们定义了一个 Map 对象 map,其中包含了两个键值对。然后,使用 Object.fromEntries() 方法将 map 转换为一个对象 obj。最后,使用 console.log() 方法将转换后的对象输出到控制台。

将键值对数组转换为对象

除了将 Map 转换为 Object 外,Object.fromEntries() 方法还可以将由键值对数组组成的数组转换为对象。下面是一个将键值对数组转换为对象的示例:

在上述示例中,我们定义了一个由键值对数组组成的数组 arr。然后,使用 Object.fromEntries() 方法将 arr 转换为一个对象 obj。最后,使用 console.log() 方法将转换后的对象输出到控制台。

总结

ES11 中新增的 Object.fromEntries() 方法可以方便地将 Map 和键值对数组转换为对象,简化了数据转换的过程,提高了编码效率。使用该方法时需要注意,转换后的对象中的键值对是有序的,也就是说,如果在 Map 或键值对数组中出现多个相同的键,对象中只会保留最后一个键值对,前面的键值对会被覆盖。

希望本文的介绍对你有所帮助,能够更好地应用 Object.fromEntries() 方法进行开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e1bb9bf6b2d6eab3cef735

纠错
反馈