Object.fromEntries()

简介

Object.fromEntries()方法把键值对列表转换为一个对象,是 Object.entries()的逆操作。

Object.fromEntries([
  ['foo', 'bar'],
  ['baz', 42],
])
// { foo: "bar", baz: 42 }

语法

Object.fromEntries(iterable);

iterable
类似 ArrayMap 或者其它实现了可迭代协议的可迭代对象。

示例

Map 转化为 Object

const map = new Map([
  ['foo', 'bar'],
  ['baz', 42],
])
const obj = Object.fromEntries(map)
console.log(obj) // { foo: "bar", baz: 42 }

Array 转化为 Object

const arr = [
  ['0', 'a'],
  ['1', 'b'],
  ['2', 'c'],
]
const obj = Object.fromEntries(arr)
console.log(obj) // { 0: "a", 1: "b", 2: "c" }

对象转换

Object.fromEntries 是与 Object.entries()相反的方法,用数组处理函数可以像下面这样转换对象:

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 }

配合 URLSearchParams 对象,将查询字符串转为对象

Object.fromEntries(new URLSearchParams('foo=bar&baz=qux'))
// { foo: "bar", baz: "qux" }
Copyright © 零度实验室 2020 all right reserved,powered by Gitbook修订时间: 2021-07-02 10:46:52

results matching ""

    No results matching ""