在 JavaScript 中,内置对象(Native Objects)是一组 API,它们由实现 JavaScript 引擎的浏览器或 Node.js 内置提供。ES9 引入了一个名为 Object.fromEntries
的新方法,该方法用于将一组键值对转换为对象。
为什么需要 Object.fromEntries?
在 JavaScript 中,经常需要将一组键值对转换为对象。这通常可以通过循环遍历和手动添加属性来实现,如下所示:
-- -------------------- ---- ------- ----- ---- - - -------- --------- ------- ---- ---------- --------- -- ----- --- - --- --- ---- ----- ------ -- ----- - -------- - ------ - ----------------- -- - ----- -------- ---- --- ------- -------- -
但是,这种方法比较繁琐,需要额外的代码来循环遍历和添加属性。ES9 引入的 Object.fromEntries
方法,可以更简洁地实现同样的效果,如下所示:
-- -------------------- ---- ------- ----- ---- - - -------- --------- ------- ---- ---------- --------- -- ----- --- - ------------------------- ----------------- -- - ----- -------- ---- --- ------- -------- -
可以看到,使用 Object.fromEntries
只需一行代码即可将一组键值对转换为对象。
使用 Object.fromEntries
Object.fromEntries
的语法格式如下:
Object.fromEntries(iterable);
其中,iterable
是一个可迭代对象,它是一个键值对的数组(二维数组)或可迭代的返回一个键值对元组的迭代器对象。
Object.fromEntries
方法将给定的数组或迭代器中的键值对转换为一个新的对象,并以键值对的形式返回该对象。
下面是一个使用数组作为参数的示例:
-- -------------------- ---- ------- ----- ---- - - -------- --------- ------- ---- ---------- --------- -- ----- --- - ------------------------- ----------------- -- - ----- -------- ---- --- ------- -------- -
下面是一个使用迭代器作为参数的示例:
-- -------------------- ---- ------- ----- ---- - --- ----- -------- --------- ------- ---- ---------- --------- --- ----- --- - ----------------------------------- ----------------- -- - ----- -------- ---- --- ------- -------- -
可以看到,Object.fromEntries
方法可以接受不同的输入类型,并返回一个合并了所有键值对的新对象。
兼容性和可替代性
目前(2021 年 10 月),Object.fromEntries
方法已经被包括在了现代浏览器和 Node.js 中。可以通过以下方式检查浏览器是否支持该方法:
if (typeof Object.fromEntries === 'function') { // 浏览器支持 Object.fromEntries 方法 } else { // 浏览器不支持 Object.fromEntries 方法 }
对于不支持 Object.fromEntries
方法的浏览器,可以使用以下代码作为替代方案:
-- -------------------- ---- ------- ----- ----------- - --------- -- - ----- --- - --- --- ---- ----- ------ -- -------- - -------- - ------ - ------ ---- -- -- ------ ----- ---- - - -------- --------- ------- ---- ---------- --------- -- ----- --- - ------------------ ----------------- -- - ----- -------- ---- --- ------- -------- -
总结
Object.fromEntries
方法是 ES9 中新增的一个方法,它可以将一组键值对转换为对象。使用 Object.fromEntries
方法,可以更简洁地实现同样的效果,并且在可读性和可维护性方面具有优势。但是,在使用 Object.fromEntries
方法之前,需要检查浏览器是否支持该方法,并考虑使用兼容性更好的替代方案。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a630bfadd4f0e0ffee4b76