ES9 新特性:Object.fromEntries() 方法介绍

阅读时长 4 分钟读完

随着 JavaScript 语言的不断发展和完善,新的特性和方法也不断被添加进来,其中 ES9(ECMAScript 2018)中添加的 Object.fromEntries() 方法就是一个非常实用的新特性。

什么是 Object.fromEntries()?

首先,了解一下 Object.fromEntries() 的作用。它的作用就是根据给定的键值对数组,创建一个新的对象。

比如,我们有一个键值对数组:

现在我们使用 Object.fromEntries() 方法就可以将这个数组转化为一个对象:

这样,我们就得到了一个以 'foo' 和 'bar' 作为属性名,以 1 和 2 作为属性值的新对象了。

Object.fromEntries() 的指导意义

Object.fromEntries() 方法的出现,主要是为了解决 JavaScript 编程中一些常见的问题。

在开发过程中,我们常常需要把键值对数组转化为一个对象,比如:

  • 把从后端接口获取到的数据进行格式化;
  • 把从表单中获取的数据转化为对象;
  • 把从 localStorage 中获取的数据进行格式化。

在这些场景中,Object.fromEntries() 方法可以大大方便我们的编程过程,减少不必要的麻烦。

Object.fromEntries() 的示例代码

下面,我们来看一些 Object.fromEntries() 方法的示例代码。

示例 1:从 URLSearchParams 对象中创建对象

我们可以使用 URLSearchParams 对象来处理 URL 中的参数,其中 entries() 方法返回一个 Iterator 对象,这个对象是键值对的数组。

我们可以用 Object.fromEntries() 方法将这个数组转化为一个对象。

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

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

示例 2:从表单数据创建对象

表单数据通常是一组键值对的数组,我们可以使用 Object.fromEntries() 方法将其转化为一个简单的对象。

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

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

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

示例 3:从 localStorage 中读取数据

我们可以使用 localStorage.getItem() 方法获取到本地存储的数据,但是它返回的是一个字符串,我们需要将字符串转化为键值对数组,然后再使用 Object.fromEntries() 方法将其转化为对象。

总结

Object.fromEntries() 方法是 ES9 中一个非常实用的新特性。它可以方便地将键值对数组转化为对象,从而简化我们的编程过程,提高开发效率。

在实际使用过程中,我们可以结合其他一些 API,比如 URLSearchParams 对象、FormData 对象等来使用,以满足不同的场景需求。

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

纠错
反馈