如何使用 ES10 的 Object.fromEntries() 方法转换对象

介绍

在 ES10 中,新增了一个非常实用的 Object 方法,即 Object.fromEntries() 方法。该方法能够将一个二维数组转换成一个对象。

在 Web 前端开发中,使用该方法可以方便地将表单数据以数组的形式提交后,再将其转换成对象进行处理。本文将着重介绍该方法的使用及示例代码。

语法

Object.fromEntries(iterable)

参数

iterable:必需,一个返回键值对的可迭代对象。实际上,只要该对象具有 Iterator 接口,都可以传入该方法。

返回值

一个新的对象,该对象包含迭代对象中的键值对。如果迭代对象中有重复的键,则后出现的键值对会覆盖前面出现的键值对。

示例

我们先看一个简单的示例:

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

输出结果:

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

可以看到,该方法将一个由键值对组成的二维数组转换成了一个对象。

再看一个更为实用的例子。假设我们有一个表单,其中有三个输入框:姓名、年龄、性别。我们可以使用以下方法将表单数据转换成对象:

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

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

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

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

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

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

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

通过将表单数据以 FormData 的方式提交后,我们可以获取到一个 entries 可迭代对象,然后将其传入 Object.fromEntries() 方法,即可将表单数据转换成一个对象。

注意事项

  1. 该方法在旧版本的浏览器中(如 IE11)中不支持,需要使用 polyfill 库进行兼容。
  2. 如果迭代对象中有重复的键,则后出现的键值对会覆盖前面出现的键值对。因此,在使用该方法时,需注意是否会出现重复的键。

结论

Object.fromEntries() 方法是一个非常实用的方法,可以方便地将二维数组转换成对象。在前端开发中,我们经常需要将表单数据进行处理,使用该方法可以极大地简化代码实现。

需要注意的是,该方法在旧版本浏览器中不支持,需要使用 polyfill 库进行兼容。同时也要注意是否会出现键重复的情况,避免数据处理出现异常。

希望本文能够对读者对 Object.fromEntries() 方法进行深入了解,并能在实际开发中得到应用。

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