📅  最后修改于: 2023-12-03 14:42:26.158000             🧑  作者: Mango
Object.fromEntries()
是一个静态方法,用于将一个由键值对组成的数组转换为一个对象。这个方法在ECMAScript 2019标准中被引入,可以很方便地将数组转换为对象。
Object.fromEntries()
方法接受一个由键值对组成的数组作为参数,并返回一个新的对象。
const entries = [['a', 1], ['b', 2], ['c', 3]];
const obj = Object.fromEntries(entries);
console.log(obj);
// 输出: {a: 1, b: 2, c: 3}
在上面的示例中,entries
是一个包含三个键值对的数组。Object.fromEntries(entries)
方法将这个数组转换为一个对象并赋值给变量 obj
。 最终,console.log()
打印出了转换后的对象 {a: 1, b: 2, c: 3}
。
Object.fromEntries()
方法特别适合将URL参数字符串转换为对象。
const urlParams = new URLSearchParams('name=John&age=30&city=New+York');
const paramsObj = Object.fromEntries(urlParams);
console.log(paramsObj);
// 输出: { name: 'John', age: '30', city: 'New York' }
在上面的示例中,URLSearchParams
对象用于解析URL参数字符串。通过将这个对象传递给 Object.fromEntries()
方法,我们可以方便地将URL参数转换为对象。
Object.fromEntries()
方法还可以用于简化对数组的操作。
例如,如果我们有一个包含键值对的数组,我们想要计算每个键对应值的总和。
const sales = [['apple', 5], ['banana', 10], ['orange', 7]];
const total = Object.fromEntries(sales).apple + Object.fromEntries(sales).banana + Object.fromEntries(sales).orange;
console.log(total);
// 输出: 22
在上面的示例中,我们通过 Object.fromEntries(sales)
将数组转换为一个对象。然后,我们可以直接通过访问对象的属性来计算每个键对应值的总和。
Object.fromEntries()
方法在主流的现代浏览器中均可使用,包括Chrome,Firefox,Safari和Edge等。不支持它的浏览器可以通过使用polyfill来实现相同的功能。
Object.fromEntries()
是一个非常实用的静态方法,可以将由键值对组成的数组转换为对象。它可以在许多场景下简化代码,并提供更优雅的解决方案。