首页 > 解决方案 > 将动态数组转换为单个对象

问题描述

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

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

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

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

尽管我在 stackoverflow 中找到了转换解决方案,但这些并没有解决我的问题。我怎样才能做到这一点?请指导。

标签: javascriptreactjs

解决方案


使用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);


推荐阅读