ES11 中的 Object.fromEntries() - 一个实用工具

阅读时长 4 分钟读完

ES11 中的 Object.fromEntries() - 一个实用工具

在 ES2019 中,一个新的 Object 静态方法 fromEntries() 加入了 JavaScript。这项工具有助于将从 Map 对象或其他类似键值对结构的数据中检索到的数据转换为一个新的 Object 对象。

在这篇文章中,我们将更深入地探讨 Object.fromEntries() 的用法及其对前端开发的指导意义。

Object.fromEntries() 的概述

Object.fromEntries() 方法的作用是将键值对列表转换为对象。这个方法是静态方法,因此它不需要创建任何实例就可以使用。

语法如下:

Object.fromEntries(iterable)

参数 iterable:一个可迭代对象,其元素应为键值对数组。

返回值:一个新的对象。

Object.fromEntries() 的流程

Object.fromEntries() 的使用方式可以说是反向操作,即从 Map 或数组等序列化(序列化时会变为键值对形式的数据)格式到对象进行反序列化。

具体来说,这里的可迭代器是一些键值对的数组,使用 Object.fromEntries() 方法可以将该数组转换为一个新的对象,键值对数组中每个元素将会被转化为对象的一个键和一个值:键为元素的第一个值,值为元素的第二个值。

值得注意的是,Object.keys()方法提供了一种把一个对象转换为一个键值对的数组,因此此处传递给 Object.fromEntries() 方法的可迭代对象可以很大程度上同 Object.keys() 方法的输出相匹配。

Object.fromEntries() 的用法

让我们来看一下如何使用 Object.fromEntries() 方法。

  1. 将一个 Map 对象转换为一个对象
  1. 使用 .entries() 或 .from() 转换一个数组对象
  1. 对象变换
-- -------------------- ---- -------
--------------------------- --------------------------------------------

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

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

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

这段示例代码展示了如何使用 Object.entries() 和 Array.prototype.filter() 对原始对象进行筛选处理,并将结果转换为新对象。

Object.fromEntries() 的作用在于快速、简单和可读性较强地将键值数组转换为对象。当然,它的能力也扩展到更为复杂和有意义的操作。

结论

在本文中,我们深入探讨了 ES11 中 Object.fromEntries() 方法的使用方法,阐述了对象反序列化的流程,以及该方法的更高级的用法。

Object.fromEntries() 方法提供了一种快速、简单且可读性强的方法将键值对数组转换为对象。对于那些需要对数据进行筛选处理的开发者而言,该方法也扩展了对象操作的能力范围,非常实用。

当然,根据您的具体需求,您也可以灵活地使用 ES11 中其他新特性,深入掌握前端开发的技能和知识。

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

纠错
反馈