在 JavaScript 编程中,我们经常需要在键值对之间转换。这种需求在前端开发领域中尤其常见,涉及到许多与用户输入、API 响应等交互相关的场景。在 ES9 中,新增了一个称为 Object.fromEntries()
的方法,可轻松地将一个包含键值对的数组转换成对象。
使用方法
Object.fromEntries()
函数接受一个键值对的数组,其中每个元素都是一个二元数组,第一个元素表示键,第二个元素表示值。例如:
const entries = [ ['color', 'red'], ['size', 'medium'], ['weight', '1kg'] ];
若想将上述键值对数组转换为对象,只需调用 Object.fromEntries()
方法并传入该数组,即可得到如下结果:
const obj = Object.fromEntries(entries); // 输出结果为 { color: 'red', size: 'medium', weight: '1kg' } console.log(obj);
需要注意的是,Object.fromEntries()
方法是 ES9 新增的语法,不过目前已经被主流浏览器(包括 Chrome、Firefox、Edge 和 Safari)支持,因此不必担心兼容性问题。
深度探讨
Object.fromEntries()
方法的本质就是将之前用 Object.entries()
方法获得的键值对数组转换为对象。Object.entries()
方法能够将一个对象转换为键值对的数组,如下所示:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); // 输出结果为 [ ['a', 1], ['b', 2], ['c', 3] ] console.log(entries);
因此,Object.fromEntries()
方法其实就是 Object.entries()
方法的逆过程,使用方法非常简单且易于理解。
示例代码
为了更好地理解 Object.fromEntries()
方法的使用,下面给出一个基于表单数据的示例。
假设我们需要将一个包含用户填写表单的数据集合(以对象形式给出)转换为键值对数组,然后再将其转换为对象,代码如下:
-- -------------------- ---- ------- ----- -------- - - ----- ----- ---- --- ------- ------ -- -- - -------- ---------- ----- ------- - ------------------------- -- ----------- ----- ------ - ---------------------------- -- ---- - ----- ----- ---- --- ------- ------ - --------------------
总结
Object.fromEntries()
方法是 ES9 中新增的一个语法,解决了将键值对数组转换为对象的问题。使用该方法不仅能够提高开发效率,而且可读性较好,代码简洁明了。无论是在实际开发中还是在学习 JavaScript 能力上,熟练运用该方法都是非常有用的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a6fa5c48841e98943981ee