ES10 Object.fromEntries() – 将数组转化为对象

阅读时长 3 分钟读完

在ES10中,Object.fromEntries()方法被引入,可以轻松将数组转化为对象。其逆操作,Object.entries()方法,也可以把对象转化为数组。这两个方法的引入使得JavaScript处理对象和数据更加方便灵活。

基础语法

Object.fromEntries()方法接受一个可遍历的键值对数据结构,返回一个新的对象。可遍历的数据结构包括:

  • Map
  • Array
  • Generator

以下是Object.fromEntries()方法的基本语法:

其中,

  • iterable:可遍历的键值对数据结构。

语法示例

以下代码演示了如何从一个数组中创建一个对象:

这段代码创建了一个包含三个数组的数组arr,每个数组包含键值对,然后使用Object.fromEntries()方法将该数组转换为对象,并将转化后的对象赋值给变量obj,最后打印输出对象{a: 1, b: 2, c: 3}

高级用法

过滤键值对

可以使用可迭代对象的.filter方法来过滤要转换的键值对,以下是一个示例:

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

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

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

该代码中,创建了一个包含五个元素的数组arr,每个元素是由一个键和一个值组成的数组。该数组被传递到Object.fromEntries()方法中。然而,由于没有对键值对进行过滤,所以该数组的所有元素都会被转换为对象的属性。在上面的示例中,我们使用.filter方法过滤掉了键为i的键值对。

连接对象

可以使用.concat方法将两个数组中的元素组合到一起,然后再转化为对象:

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

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

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

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

上面的代码中,我们首先使用Object.entries方法将两个对象分别转换成数组,然后使用.concat方法将它们组合在一起,生成一个新数组arr。最后,我们使用Object.fromEntries()方法将该数组转换为对象,并将结果保存在变量obj中。

结论

Object.fromEntries()方法为开发者提供了一个简单的方法,可以将一个键值对列表转换为对象。这个方法提供了许多有用的特性,让开发者更加方便地处理JavaScript中的对象和数据。

总之,Object.fromEntries()方法对于开发Web应用程序有着深刻的意义,值得我们认真学习和使用。

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

纠错
反馈