将动态数组转换为单个对象

时间:2020-06-05 12:20:12

标签: javascript reactjs

我有一个像这样的动态数组。

    var callData = [
        {
            "FIELD_1": "0763454333"
        },
        {
            "FIELD_2": "dgfdgfg"
        },
        {
            "FIELD_3": "fgfdgfdg"
        }
    ];

根据用户,这些字段数会更改。如果另一个用户有更多字段,则可以有FIELD_4,FIELD_5等。我从db中获取这些数据,并如上所述将其放入and数组。现在,我想将其转换为单个对象。我希望它看起来像这样。

    {
        "FIELD_1": "076355998", "FIELD_2": "933504395v", "FIELD_3": "123"
    }

尽管我发现在stackoverflow中转换解决方案,但这些并不能解决我的问题。我该如何实现?请指导。

1 个答案:

答案 0 :(得分:3)

使用flatMap函数返回每个对象的条目,然后使用Object.fromEntries函数从这些条目创建对象

var callData = [
  {"FIELD_1": "0763454333" },
  { "FIELD_2": "dgfdgfg" },
  { "FIELD_3": "fgfdgfdg" }
];

const res = Object.fromEntries(callData.flatMap(o => Object.entries(o)));

console.log(res);