在 ES9 中,Object
对象新增了一个非常实用的方法 Object.fromEntries()
,它用于将数组转换成对象。在处理数据时,经常会遇到需要将数组转换成对象的情况,例如从后端返回的数据是数组类型的,但是前端需要一个对象。使用 Object.fromEntries()
可以非常方便地完成这个任务。
一、Object.fromEntries() 格式
Object.fromEntries()
接收一个数组作为参数,数组成员是键值对数组。
-------------------------
array
:需要转换成对象的数组。
二、示例代码
示例一:基础使用
下面是一个基础的示例,将数组转换成对象:
----- --- - --------- ------- ------- ---- ---------- -------- ----- --- - ----------------------- ---------------- -- ------ ------ ---- --- ------- -------
示例二:合并多个对象
使用 Object.fromEntries()
还可以合并多个对象:
----- ---- - ------ ------ ---- --- ----- ---- - -------- ------- ------- ---- ----- ---- - ---------- ------------ ----- --- - ---------------------- --------------------- --------------------- ----- --- - ------------------------------ ---------------- -- ------ ------ ---- --- ------- ------- ------- ---- --------- ------------
需要注意的是,Array.flat()
是 ES10 的新特性,如果浏览器版本不支持,可以使用 Array.concat()
进行合并。
示例三:过滤
如果数组中包含无效的键值对,可以使用数组的 filter()
方法过滤掉:
----- --- - --------- ------- ------- ---- ----------- --- ---------- -------- ----- --- - ---------------------------------- -- ----------- --- --- ---------------- -- ------ ------ ---- --- ------- -------
三、兼容性
由于 Object.fromEntries()
是 ES9 新增的方法,在一些老的浏览器中不支持,需要进行兼容性处理。可以使用一些较为流行的打包工具,在打包时引入 polyfill 库,例如 babel、webpack 等。
四、总结
Object.fromEntries()
是 ES9 新增的方法,用于将数组转换成对象,非常实用。使用它可以非常方便地处理一些数据。需要注意的是,由于它是 ES9 新特性,在一些老的浏览器中不支持,需要进行兼容性处理。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64b23df648841e9894e84fb3