【问题标题】:How can I convert array to an object如何将数组转换为对象
【发布时间】:2021-09-23 18:20:57
【问题描述】:

我有一个包含单个元素的数组,看起来像这样 [{…}]

我所要做的只是将它转换为像这样的对象{}

【问题讨论】:

  • [{...}}{} 的描述性不是很好。你想如何将数组转换为对象?如果它只有一个元素,为什么不只是 arr[0]
  • 因为 TS 抱怨 arr[0].
  • 我绝对记得我可以reduce这个不知何故,但我没有设法找到解决方案
  • 关于使用 arr[0] 的 TypeScript 错误/警告是什么?

标签: javascript arrays reactjs javascript-objects


【解决方案1】:

我认为您正在寻找的答案是这样的:

const arr = [
  {name: 'name', value: 1},
  {name: 'name2', value: 2},
  {name: 'name3', value: 3},
  {name: 'name4', value: 4},
  {name: 'name5', value: 5},
]

const arrToObj = arr.reduce((obj, el) => {
  obj[el.name] = el.value
  return obj
}, {})

console.log(arrToObj)

【讨论】:

    【解决方案2】:

    解决方案是array.reduce((acc, x) => ({...acc,...x}))

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 2022-01-23
      • 2011-01-29
      • 2018-07-27
      • 2018-12-12
      相关资源
      最近更新 更多