摘要:在本教程中,您将学习如何使用 JavaScript Object.fromEntries() 方法将键值对列表转换为对象。
ES6 引入了 Object.entries() 方法,允许您将 对象 转换为 数组
const boxStyle = {
color: 'red',
borderWidth: '1px'
};
let arr = Object.entries(boxStyle);
console.log(arr);Code language: JavaScript (javascript)输出
[['color', 'red'],['borderWidth', '1px']]Code language: JSON / JSON with Comments (json)但是,如果您想做相反的事情,并将键值对列表转换为对象呢?
ES2019 引入了 Object.fromEntries() 方法,允许您轻松地将键值对列表转换为对象。
let arr = [['color', 'red'],['borderWidth', '1px']];
let obj = Object.fromEntries(arr);Code language: JavaScript (javascript)输出
{color: "red", borderWidth: "1px"}Code language: CSS (css)JavaScript Object.fromEntries() 方法简介
Object.fromEntries() 接受可迭代对象,例如 数组 或 Map,并将它们转换为 对象
Object.fromEntries(iterable);Code language: JavaScript (javascript)Object.fromEntries() 返回一个新对象,其 属性 由 可迭代对象 的条目指定。
Object.fromEntries() 期望可迭代对象返回一个迭代器对象,该对象产生键值对。它使用键作为对象的属性键,使用值作为与属性键关联的值。
Object.fromEntries() 执行 Object.entries() 的反向操作。
JavaScript Object.fromEntries() 示例
让我们看一些使用 Object.fromEntries() 方法的示例。
1) 将数组转换为对象
此示例演示如何将数组转换为对象
const arr = [
['firstName', 'John'],
['lastName', 'Doe'],
['age', 20]
];
const person = Object.fromEntries(arr);
console.log(person);Code language: JavaScript (javascript)输出
{firstName: "John", lastName: "Doe", age: 20}Code language: CSS (css)2) 将 Map 转换为对象
以下示例演示如何使用 Object.fromEntries() 方法将 Map 转换为对象
const config = new Map();
config.set('type', 'database');
config.set('duration', 30);
const cache = Object.fromEntries(config);
console.log(cache);Code language: JavaScript (javascript)输出
{type: "database", duration: 30}
Code language: CSS (css)3) 将 URL 参数字符串转换为对象
以下示例演示如何使用 Object.fromEntries() 将 URL 的查询字符串转换为对象,其中每个属性都是一个参数
const params = 'type=listing&page=2&rowCount=10';
const searchParams = new URLSearchParams(params);
console.log(Object.fromEntries(searchParams));Code language: JavaScript (javascript)输出
{type: "listing", page: "2", rowCount: "10"}Code language: CSS (css)总结
Object.fromEntries()将可迭代对象转换为对象。Object.fromEntries()执行Object.entries()的反向操作。
本教程是否有用?