在 JavaScript 中,对象是我们经常使用的数据类型之一。在实际开发中,我们经常需要将对象进行数据转换,例如将对象转换为数组或者将数组转换为对象。在 ECMAScript 2017 中,引入了对象方法 Object.fromEntries(),该方法可以帮助我们轻松实现 JavaScript 中的对象数据转换。
Object.fromEntries() 方法介绍
Object.fromEntries() 方法将具有键值对的可迭代对象转换为一个新对象,其中每个键值对都是一个属性。 函数接受一个可迭代对象,它应该是一个键值对序列,如 Map 对象或由数组嵌套的对象(这里说的“嵌套”的意思是,数组中可能包含其他数组或者对象)。
当键或值或它们中的其中之一不符合规范(指不是字符串或者 Symbol 类型)时,将引发 TypeError 。
与其他创建新对象的方法不同,Object.fromEntries()预期的输入是一组键值对,并返回对应的JavaScript对象。
示例
将数组转换为对象
// javascriptcn.com 代码示例 const entries = new Map([ ['name', '张三'], ['age', 18], ['gender', '男'] ]); const obj = Object.fromEntries(entries); console.log(obj); // {name: "张三", age: 18, gender: "男"}
将对象转换为数组
const obj = { name: '张三', age: 18, gender: '男' }; const entries = Object.entries(obj); console.log(entries); // [["name", "张三"], ["age", 18], ["gender", "男"]]
总结
ECMAScript 2017 中的 Object.fromEntries() 方法可以帮助我们快捷地实现 JavaScript 对象数据转换。我们可以通过该方法将数组转换为对象或者将对象转换为数组,从而在实际开发中提高代码可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65297ee87d4982a6ebc0182a