在 ECMAScript 2018 中,新增了一个非常实用的方法 Object.fromEntries()
,该方法可以将一个包含键值对的数组转换成一个对象。本文将详细介绍该方法的使用方法和示例。
语法
Object.fromEntries(iterable)
iterable
:一个可迭代对象,包含键值对的数组或类数组对象。
使用方法
Object.fromEntries()
方法接收一个可迭代对象作为参数,这个可迭代对象应该是一个包含键值对的数组或类数组对象。该方法将返回一个由这些键值对构成的新对象。
示例代码:
-- -------------------- ---- ------- ----- ------- - - -------- ------ ------- ---- ---------- ---- -- ----- --- - ---------------------------- ----------------- -- - ----- ----- ---- --- ------- --- -
在上面的示例代码中,我们将一个包含键值对的数组传给了 Object.fromEntries()
方法,该方法返回了一个对象,该对象的属性名和属性值分别为数组中的键和值。
需要注意的是,如果数组中存在重复的键,那么最终生成的对象只会保留最后一个键值对。
应用场景
Object.fromEntries()
方法可以方便地将键值对数组转换成对象,这在实际开发中非常实用。例如,我们可以将 URL 参数转换成一个对象:
const urlSearchParams = new URLSearchParams('name=张三&age=18&gender=男'); const entries = urlSearchParams.entries(); const obj = Object.fromEntries(entries); console.log(obj); // { name: "张三", age: "18", gender: "男" }
在上面的示例代码中,我们使用了 URLSearchParams
类来解析 URL 参数,并将其转换成了一个包含键值对的数组。然后,我们使用 Object.fromEntries()
方法将该数组转换成了一个对象。
兼容性
Object.fromEntries()
方法是 ECMAScript 2018 中新增的方法,因此在一些老版本的浏览器中可能不被支持。不过,我们可以使用 Babel 等工具将其转换成 ES5 代码,以保证兼容性。
总结
Object.fromEntries()
方法是 ECMAScript 2018 中新增的方法,可以方便地将键值对数组转换成对象。在实际开发中,我们可以将 URL 参数、表单数据等转换成对象,以方便操作。需要注意的是,该方法可能在一些老版本的浏览器中不被支持,需要使用 Babel 等工具进行转换。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6513cfad95b1f8cacdc3fdae