在前端开发中,有时需要将一个由键值对组成的数组转化成一个对象。这时我们可以使用 fromEntries
方法,它是 ECMAScript 2019 提供的一种新方法。本文将为你介绍 fromEntries
的使用方法,同时通过示例代码帮助你更好地掌握其特性和应用场景。
什么是 fromEntries
fromEntries
方法是 ECMAScript 2019 引入的新方法,它可以将一个由键值对组成的数组转化成一个对象。它接收一个数组参数,数组中的每个元素都应该是一个键值对,其中键和值之间用一个二元数组表示。
如何使用 fromEntries
fromEntries
方法语法如下:
Object.fromEntries(iterable)
其中 iterable
是一个数组,包含若干个二元数组,每个数组中包含一个键和一个值。
下面是一个使用 fromEntries
方法的示例代码:
-- -------------------- ---- ------- ----- ------- - - -------- ------- ------- ---- ---------- ------- -- ----- --- - ---------------------------- ----------------- -- - ----- ------ ---- --- ------- ------ -
我们首先定义了一个叫做 entries
的数组,其中包含了三个二元数组,分别表示一个人的姓名、年龄和性别。然后我们用 Object.fromEntries
方法将 entries
数组转换成一个对象,将其存储在 obj
变量中。最后我们打印 obj
变量的值,可以看到它是一个包含了 name
、age
和 gender
三个属性的对象。
fromEntries 的应用场景
fromEntries
方法主要用于将键值对数组转化为对象。下面是一些使用 fromEntries 的示例场景:
1. 将 url 参数转成对象
我们可以先将 url 参数用 split
方法分割成键值对数组,然后使用 fromEntries
方法将其转化为对象:
const urlParams = new URLSearchParams(queryString); const paramsObj = Object.fromEntries(urlParams.entries());
2. 将 Map 转化为对象
我们可以使用 fromEntries
将 Map
转化为对象:
-- -------------------- ---- ------- ----- --- - --- ----- -------- ------- ------- ---- ---------- ------- --- ----- --- - ------------------------ ----------------- -- - ----- ------ ---- --- ------- ------ -
3. 将 JSON 转化为对象
我们可以先将一个 JSON 字符串解析成一个键值对数组,然后使用 fromEntries
方法将其转化为对象:
const jsonStr = '{"name":"Tom","age":18,"gender":"male"}'; const jsonObj = Object.fromEntries(Object.entries(JSON.parse(jsonStr))); console.log(jsonObj); // { name: "Tom", age: 18, gender: "male" }
总结
本文介绍了 fromEntries
方法的使用方法,同时提供了多个示例来帮助你掌握其特性和应用场景。 fromEntries
是一个非常方便的工具,可以在将键值对数组转化为对象的时候提供快捷的方法。在实际开发中,我们可以使用它来处理 url 参数、Map
对象、JSON 数据等。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f068706403f2923b035bf4a