在 ES9 中,我们迎来了一个新的对象构造函数:Object.fromEntries()。这个新特性可以将一个包含键值对的二维数组转换成一个对象。在这篇文章中,我们将详细讨论 Object.fromEntries() 的用法,并提供有关它的深入指导和示例代码。
什么是 Object.fromEntries()?
Object.fromEntries() 是一个对象构造函数,它接受一个包含键值对的二维数组,并返回一个新的对象。这个数组中的每个子数组都包含两个元素:键和对应的值。
以下是 Object.fromEntries() 的语法:
Object.fromEntries(iterable)
其中 iterable 是一个可迭代对象,例如一个数组或一个 Map 对象。
如何使用 Object.fromEntries()?
Object.fromEntries() 可以用于将二维数组转换成对象。以下是一个示例:
-- -------------------- ---- ------- ----- ------- - - -------- -------- ------- ---- ---------- --------- -- ----- --- - ---------------------------- ----------------- -- ------ ------- ---- --- ------- ---------
在这个例子中,我们有一个包含三个子数组的二维数组,每个子数组都表示一个键值对。我们使用 Object.fromEntries() 将这个二维数组转换成一个对象,并将其存储在 obj 变量中。
Object.fromEntries() 的应用场景
Object.fromEntries() 可以用在各种场景中,例如从 Map 对象中创建对象,从 URLSearchParams 对象创建对象等等。以下是一些常见用例:
从 Map 对象创建对象
-- -------------------- ---- ------- ----- --- - --- ----- -------- -------- ------- ---- ---------- --------- --- ----- --- - ------------------------ ----------------- -- ------ ------- ---- --- ------- ---------
在这个例子中,我们有一个包含三个键值对的 Map 对象,我们使用 Object.fromEntries() 将其转换成一个对象。
从 URLSearchParams 对象创建对象
URLSearchParams 对象是一个处理 URL 查询字符串的 API。以下是一个示例:
const params = new URLSearchParams('name=jane&age=20&gender=female'); const obj = Object.fromEntries(params); console.log(obj); // {name: "jane", age: "20", gender: "female"}
在这个例子中,我们使用 URLSearchParams 对象创建了一个包含三个键值对的对象,然后使用 Object.fromEntries() 将其转换成了一个新的对象。
总结
Object.fromEntries() 可以帮助我们将一个包含键值对的二维数组转换成一个对象。我们可以从 Map 对象、URLSearchParams 对象中以及其他任何包含键值对的数据结构中创建对象。Object.fromEntries() 是一个重要的新特性,可以帮助我们更有效地处理数据,让代码更简洁易读。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651fda4395b1f8cacd7648cd