将内部数组的对象数组更改为一个对象

时间:2019-08-22 11:23:53

标签: javascript arrays

我有一个对象数组,其中包含另一个数组,我想像这样将更大的数组转换为一个对象:

[{
name: "test"
options: [
0: {id: "1", value: ""}
1: {id: "2", value: ""}
2: {id: "3", value: ""}
3: {id: "4", value: ""}]
}]

我希望最终结果是这样的:

{
  test: [
    {id: "1", value: ""},
    {id: "2", value: ""},
    {id: "3", value: ""},
    {id: "4", value: ""}
  ]
}

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

使用reduce创建对象

reduce接受一个函数作为参数,该函数可以接受多个参数(至少2个),第一个称为accumulator,它包含此函数先前所有调用的总和。第二个参数是current,它包含一个当前值,在本例中是我们要转换的当前对象。如您所见,在{}的末尾有一个reduce,它是initialValue,这意味着在reduce,{{ 1}}将是此值,因此accumulator(空对象)

{}