ES12 中的对象.fromEntries()

在 ES12 中,新增了一个对象方法 Object.fromEntries(),它可以将一个键值对数组转换成一个对象。

语法

Object.fromEntries(iterable)

  • iterable:一个可迭代对象,它的元素是由键值对组成的数组。

简单示例

深入理解

Object.fromEntries() 方法主要用于将一个键值对数组转换成一个对象。在实际开发中,我们经常会遇到这种情况,比如后端返回的数据格式为键值对数组,而我们需要将其转换成对象方便操作。

Object.fromEntries() 方法的实现原理非常简单,它实际上是通过遍历数组中的每一个键值对,然后将其添加到一个新的对象中。

需要注意的是,Object.fromEntries() 方法会忽略掉不是数组的元素,所以在使用时需要确保每个元素都是由键值对组成的数组。

使用场景

除了将键值对数组转换成对象之外,Object.fromEntries() 方法还有很多其他的使用场景。下面介绍几个常见的场景。

将 Map 转换成对象

在 ES6 中,新增了一个数据结构 Map,它可以存储任意类型的键和值,并且支持迭代器。如果我们需要将一个 Map 转换成对象,可以使用 Object.fromEntries() 方法。

将 URLSearchParams 转换成对象

在前端开发中,我们经常需要对 URL 进行解析和操作。在 ES6 中,新增了一个 URLSearchParams 对象,它可以方便地对 URL 参数进行解析和操作。如果我们需要将一个 URLSearchParams 对象转换成对象,可以使用 Object.fromEntries() 方法。

需要注意的是,如果 URL 参数中存在相同的键,Object.fromEntries() 方法只会取最后一个键值对的值。

将数组转换成对象

有时候,我们需要将一个数组转换成一个对象,其中数组中的每个元素都是一个对象,且对象中包含了键和值。这时候,我们可以使用 Object.fromEntries() 方法。

总结

Object.fromEntries() 方法是 ES12 中新增的一个对象方法,它可以将一个键值对数组转换成一个对象。在实际开发中,它有很多使用场景,比如将 Map 转换成对象、将 URLSearchParams 转换成对象、将数组转换成对象等等。需要注意的是,在使用时需要确保每个元素都是由键值对组成的数组。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656d4448d2f5e1655d591671


纠错
反馈