【问题标题】:Converting a dynamic array into single object [duplicate]将动态数组转换为单个对象[重复]
【发布时间】:2020-06-05 12:20:12
【问题描述】:

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

    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 中找到了转换解决方案,但这些并没有解决我的问题。我怎样才能做到这一点?请指导。

【问题讨论】:

  • 到目前为止,您自己尝试过什么来解决这个问题?
  • 为什么结果对象的值不同?
  • 尝试循环遍历对象(for..in)

标签: javascript reactjs


【解决方案1】:

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

【讨论】:

  • 谢谢。它解决了我的问题。
猜你喜欢
  • 2019-06-22
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
  • 2011-11-16
  • 2019-02-12
  • 2021-11-04
相关资源
最近更新 更多