【问题标题】:Remapp object with arrays from api with new keys and structure使用新键和结构的 api 数组重新映射对象
【发布时间】:2020-11-09 07:26:00
【问题描述】:

我的返回对象有这样的输出:

{
 data:
  [
   {
    ts: "20-10-26",
    events: 1500,
   }, 
   {
    ts: "20-10-27",
    events: 1280,
   },
   {
    ts: "20-10-28",
    events: 1111,
   }
  ]   
}

我需要让它看起来像这样

[
  {
    id: "events",
    color: "hsl(331, 70%, 50%)",
    data: [
      {
        x: "20-10-26",
        y: 1500
      },
      {
        x: "20-10-27",
        y: 1280
      },
      {
        x: "20-10-28",
        y: 1111
      }
    ]
  }
]

所以我需要将键从 ts 和 events 更改为 x 和 y。还添加了两个带有静态数据 id 和颜色的字段。我使用来自https://nivo.rocks/line/ 的图表,他们需要这样格式化的数据。

【问题讨论】:

    标签: javascript arrays reactjs object


    【解决方案1】:

    将数据数组映射到具有指定键的新对象数组。

    data.map(({ ts: x, events: y }) => ({ x, y }))
    

    const responseData = {
     data:
      [
       {
        ts: "20-10-26",
        events: 1500,
       }, 
       {
        ts: "20-10-27",
        events: 1280,
       },
       {
        ts: "20-10-28",
        events: 1111,
       }
      ]   
    };
    
    const formattedData = {
      id: "events",
      color: "hsl(331, 70%, 50%)",
      data: responseData.data.map(({ ts: x, events: y }) => ({ x, y })),
    };
    
    console.log(formattedData);

    如果您的图形组件需要,请将格式化数据放入数组中。

    【讨论】:

    • 非常感谢!那效果很好,而且是一个很好的清洁解决方案。我把它复杂化了很多。再次,谢谢伙计!
    猜你喜欢
    • 2023-01-14
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多