ECMAScript 2021 中的 Object.fromEntries 方法

在 ECMAScript 2015 中引入的 Object.entries 方法可以将一个对象转换为一个键值对数组,而在 ECMAScript 2021 中新增了 Object.fromEntries 方法,可以将一个键值对数组转换为一个对象。本文将详细讲解 Object.fromEntries 方法的用法、优点和应用场景。

用法

Object.fromEntries 方法接受一个键值对数组作为参数,返回一个由该数组中的键值对创建的新对象。键值对数组的每个元素都是一个由两个元素组成的数组,第一个元素是键,第二个元素是值。

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

优点

Object.fromEntries 方法的优点在于它可以快速将一个键值对数组转换为一个对象,同时还可以避免手动创建对象的过程。在实际开发中,我们经常需要将一个键值对数组转换为一个对象,比如解析 URL 查询字符串或 JSON 字符串,或者将一个表单中的数据转换为一个对象等等。

应用场景

解析 URL 查询字符串

URL 查询字符串中的参数通常是以键值对的形式出现的,可以通过 URLSearchParams 对象获取,然后使用 Object.fromEntries 方法将它转换为一个对象。

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

解析 JSON 字符串

JSON 字符串也常常包含键值对,可以通过 JSON.parse 方法将它转换为一个对象,然后使用 Object.entries 方法将其转换为一个键值对数组,最后使用 Object.fromEntries 方法将其转换为新的对象。

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

将表单数据转换为对象

表单提交的数据通常是以键值对的形式出现的,可以使用 FormData 对象获取,然后使用 Object.fromEntries 方法将它转换为一个对象。

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

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

总结

Object.fromEntries 方法是 ECMAScript 2021 中新增的方法,它可以将一个键值对数组转换为一个对象。在解析 URL 查询字符串、JSON 字符串或者将表单数据转换为对象时,Object.fromEntries 方法都能很好地解决这些问题。在实际开发中,我们可以尝试使用 Object.fromEntries 方法来简化代码。

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