使用 ES11 中的 Object.fromEntries 方法处理对象数据

阅读时长 4 分钟读完

在前端开发中,我们经常需要处理和操作对象数据。而 ES11 新增的 Object.fromEntries 方法可以方便快捷地将由键值对组成的数组转换为对象,十分实用。

Object.fromEntries 方法简介

Object.fromEntries 方法可以将由键值对(二元组)组成的数组转换为一个对象。在这个数组中,每个元素是一个由两个元素组成的数组,分别代表了该键值对的键和值。

Object.fromEntries 使用示例

下面是一个基本的使用示例:

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

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

在示例中,由三个二元组组成的数组 entries 被转换成了包含三个键值对的对象 obj

处理对象数据

Object.fromEntries 方法不仅可以将数组转换为对象,还可以结合其他方法和语法来处理对象数据。下面是几个示例:

对象转换

我们可以将对象的键值对以数组的形式提取出来,然后转换成其他格式的数据,比如 CSV 格式、XML 格式、JSON 格式,或者直接进行网络传输。下面是一个将对象转换为 CSV 格式的例子:

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

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

在示例中,Object.entries 方法被用来转换对象,然后使用 map 方法和解构赋值将每个键值对组合成一个 CSV 格式的字符串,最后使用 join 方法将它们连接起来。

快速筛选

我们可以根据对象的属性快速筛选出其中符合条件的元素。下面是一个根据年龄将人员分为成人和未成年的例子:

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

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

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

在示例中,Object.entries 方法被用来将对象转换为由键值对组成的数组。然后使用 filter 方法和解构赋值筛选出年龄符合和不符合条件的元素,最后使用 Object.fromEntries 将筛选出来的成人和未成年分别转换为两个对象。

总结

Object.fromEntries 方法可以方便快捷地将由键值对组成的数组转换为对象,让我们在处理对象数据时变得更加高效。通过结合其他方法和语法,我们可以更灵活地处理对象数据,在开发中发挥更大的作用。

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

纠错
反馈