Object.fromEntries()
Object.fromEntries()
静态方法将键值对列表转换为对象。
试一试
语法
js
Object.fromEntries(iterable)
参数
返回值
一个新对象,其属性由可迭代对象的条目给出。
描述
Object.fromEntries()
方法接受一个键值对列表,并返回一个新对象,其属性由这些条目给出。iterable
参数应该是一个实现了 [Symbol.iterator]()
方法的对象。该方法返回一个迭代器对象,它生成包含两个元素的类似数组的对象。第一个元素是一个值,将用作属性键,第二个元素是与该属性键关联的值。
Object.fromEntries()
执行 Object.entries()
的反向操作,但 Object.entries()
只返回字符串键的属性,而 Object.fromEntries()
也可以创建符号键的属性。
注意:与 Array.from()
不同,Object.fromEntries()
不使用 this
的值,因此在另一个构造函数上调用它不会创建该类型的对象。
示例
将 Map 转换为对象
将数组转换为对象
对象转换
使用 Object.fromEntries
,其反向方法 Object.entries()
和 数组操作方法,你可以像这样转换对象
js
const object1 = { a: 1, b: 2, c: 3 };
const object2 = Object.fromEntries(
Object.entries(object1).map(([key, val]) => [key, val * 2]),
);
console.log(object2);
// { a: 2, b: 4, c: 6 }
规范
规范 |
---|
ECMAScript 语言规范 # sec-object.fromentries |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。