在 ES12 中,新增了一个 Object 的静态方法 Object.fromEntries()
,用于将键值对数组转换为对象。该方法在某些场景下可以方便地操作对象,本文将详细介绍其用法和应用场景。
用法示例
Object.fromEntries() 的基本使用方法如下:
----------------------------
其中 iterable
是键值对数组,比如:
----- --- - --------- ---------- -------- ----------- ----- --- - ------------------------ ----------------- -- - ----- --------- ----- -------- -
上述代码将 [['key1', 'value1'], ['key2', 'value2']]
这个键值对数组转换为了一个对象 { key1: 'value1', key2: 'value2' }
。
应用场景
Object.fromEntries() 在实际开发中有很多应用场景,下面列举几个常用的:
1. Object 转为 Map
Object.fromEntries() 可以将 Object 转为 Map。比如我们有一个对象:
----- --- - - ----- --------- ----- -------- --
可以使用 Object.entries() 方法将其转换为 Map 类型的数据结构:
----- --- - --- ------------------------- --------------- ---------- ----- -- ----
2. Object 转为 FormData
使用 Object.fromEntries() 可以将 Object 转为 FormData 类型,如下所示:
----- --- - - -- -- -- - -- ----- -------- - --- ----------- ---------------------------------- ------- -- -------------------- -------- ---------------------- -- -------- - -- ---- -- --- -
3. 通过 entries() 和 fromEntries() 过滤对象属性
Object.fromEntries() 可以用于快速过滤掉对象中某些属性,例如:
----- --- - - -- -- -- -- -- - -- ----- ------- - --------------------------------- ------- -- --- --- ----- ----- ----------- - ---------------------------- ------------------------- -- - -- -- -- - -
4. 优化对象
如果我们正在处理大量对象,可以使用 Object.fromEntries() 将它们转换为 Map 对象,这样可以更快地访问对象的属性。
----- --- - -- ----- -------- -- - ----- -------- --- ----- --- - --- ------------------------------------ ----------------------------- -- ------
总结
Object.fromEntries() 在某些场景下可以方便地操作对象,将键值对数组转换为对象、Object 转为 Map、Object 转为 FormData、通过 entries() 和 fromEntries() 过滤对象属性等等。可以说,掌握 Object.fromEntries() 方法可以让你更好地操作对象,提高代码的效率,希望本文对初学者有所帮助!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6455099a968c7c53b08b6904