ECMAScript 2019 中的新特性:Object.fromEntries() 的使用技巧

阅读时长 3 分钟读完

ECMAScript 2019 中引入了一个新的方法:Object.fromEntries(),该方法可以从键值对数组中创建一个新的对象。本文将探讨 Object.fromEntries() 的用法和应用场景。

使用 Object.fromEntries()

Object.fromEntries() 接收一个包含键值对的数组,并返回一个新的对象。以下是使用该方法的语法:

其中,entries 是一个键值对数组。例如:

可以看到,Object.fromEntries() 方法可以使用键值对数组创建一个新对象。

应用场景

将 Map 转为 Object

在 JavaScript 中,有另外一个对象类型称为 Map。Map 是一种高性能的数据结构,可以存储键值对,并且可以使用任何类型的值作为键。

在一些情况下,我们需要将 Map 对象转换为普通的 JavaScript 对象。这时,Object.fromEntries() 就派上用场了。

假设有一个 Map 对象:

可以使用 Object.fromEntries() 将其转换为对象:

这与使用数组的方法是等价的。

排序一个对象

有时候,我们需要按照对象的某个属性进行排序。然而,JavaScript 中的对象是无序的。如果我们想要将对象按照属性排序,就需要先将其转换为一个数组,然后进行排序,最后再将其转换为一个对象。

Object.fromEntries() 方法可以帮助我们将排序后的数组转换为对象。例如:

-- -------------------- ---- -------
----- --- - -
  ----- --------
  ---- ---
  ----- -----------
--

----- ------------- - ------------------------------ ---- -- -- - - - - - -----
----- --------- - ----------------------------------
-- --------- --- - ---- --- ----- ----------- ----- ------- -

当然,该方法需要先将对象转换为一个数组,然后进行排序,再进行转换。虽然看起来麻烦,但是可以实现按照属性排序的操作。

总结

Object.fromEntries() 是 ECMAScript 2019 中引入的一个新方法。通过使用该方法,可以从键值对数组中创建一个新的对象。我们可以使用该方法将 Map 转换为对象,或者将排序后的数组转换为对象。然而,该方法并不适用于所有场景,应该根据具体情况进行使用。

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

纠错
反馈