ECMAScript 2019 中的 fromEntries() 方法:实现对象转化为数组

阅读时长 3 分钟读完

在 ECMAScript 2019 中,JavaScript 引入了一个新的方法:fromEntries(),它可以将一个对象转换成一个键值对数组。这个方法是十分实用的,可以用于处理一些实际开发场景。

了解 fromEntries() 方法

fromEntries() 方法用于将一个包含键值对的可迭代对象(iterable)转化为一个对象。它接受一个可迭代对象作为参数,并返回一个包含键值对的新数组。

这里的可迭代对象可以是任何实现了 Symbol.iterator 解构赋值方法的对象,比如 MapObject.entries() 方法产生的数组。

该方法的语法如下:

其中,iterable 是一个可迭代对象,它包含一组键值对。

用例

假设有如下对象:

现在我们想把这个对象转化为一个包含键值对的数组。直接使用 Object.entries(obj) 方法可以得到 [ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ] 这样的数组,但我们更希望得到如下形式的数组:

我们可以使用 fromEntries() 方法来实现:

这里我们使用 Object.entries(obj) 方法获取键值对数组,然后通过 map() 方法将每个键值对转化为我们需要的格式。

除了将对象转换为数组,fromEntries() 方法还可以用于将键值对数据转换为对象。比如,我们有如下数据:

我们可以使用 fromEntries() 方法将其转换为对象:

这样,我们就得到了如下对象:

总结

fromEntries() 方法是 ECMAScript 2019 中新增的一个方法,它可以将一个对象转化为数组,并且可以方便地将键值对数据转换为对象。在实际开发中,它可以解决一些常见问题,比如将对象转换为我们需要的键值对格式。需要注意的是,该方法是一个较新的特性,需要在兼容的环境下使用。

示例代码

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

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

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

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

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

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

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

纠错
反馈