Object.fromEntries()

Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。

  1. Object.fromEntries([
  2. ['foo', 'bar'],
  3. ['baz', 42]
  4. ])
  5. // { foo: "bar", baz: 42 }

该方法的主要目的,是将键值对的数据结构还原为对象,因此特别适合将 Map 结构转为对象。

  1. // 例一
  2. const entries = new Map([
  3. ['foo', 'bar'],
  4. ['baz', 42]
  5. ]);
  6. Object.fromEntries(entries)
  7. // { foo: "bar", baz: 42 }
  8. // 例二
  9. const map = new Map().set('foo', true).set('bar', false);
  10. Object.fromEntries(map)
  11. // { foo: true, bar: false }

该方法的一个用处是配合URLSearchParams对象,将查询字符串转为对象。

  1. Object.fromEntries(new URLSearchParams('foo=bar&baz=qux'))
  2. // { foo: "bar", baz: "qux" }