ECMAScript 2019 中的对象方法 Object.fromEntries()

阅读时长 3 分钟读完

在 ECMAScript 2019 中,JavaScript 增加了一个新的对象方法 Object.fromEntries(),它可以帮助我们更方便地操作对象。

什么是 Object.fromEntries()?

Object.fromEntries() 方法接受一个二维数组作为参数,每个子数组包含两个元素,第一个元素表示对象的键,第二个元素表示对象的值。例如:

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

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

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

上面的代码将二维数组转换为一个对象,并将其赋值给obj变量。在这个例子中,entries数组包含两个子数组,每个子数组有两个元素,其中'foo'是键,'bar'是值,'baz'是另一个键,'42'是它的值。

Object.fromEntries() 的作用

Object.fromEntries() 的作用是将一个二维的键值对数组转换为一个对象。这个方法的主要作用是减少手动创建对象的代码量。

在不使用 Object.fromEntries() 的情况下,我们需要创建一个对象,并在一个循环中为其添加属性和值。应该如下:

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

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

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

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

如我们可以看到,手动创建对象的代码比较冗长。使用新的 Object.fromEntries() 方法可以大大简化代码量。

使用 Object.fromEntries() 的示例代码

让我们看一个更有价值的例子:从一个 URL 查询参数字符串中提取参数,并将它们存储在一个对象中。例如:从类似于以下 URL 的字符串'http://example.com/?foo=bar&baz=42'中提取参数:

在上面的代码中,我们将查询参数字符串转换为一个URLSearchParams对象,然后使用它的entries()方法获取所有key/value键值对,最后使用Object.fromEntries()方法将键值对数组转换为一个对象。

总结

ECMAScript 2019 中的新对象方法 Object.fromEntries() 是一个有用的方法,它可以帮助我们轻松创建对象。这个方法的使用非常简单,只需要给它一个包含键值对的二维数组,即可将其转换为一个对象。使用 Object.fromEntries() 方法可以减少我们手动创建对象的代码量,并且可以更好地优化我们的代码。

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

纠错
反馈