【问题标题】:Format JSON data into nested list using Lodash使用 Lodash 将 JSON 数据格式化为嵌套列表
【发布时间】:2020-03-15 08:38:58
【问题描述】:

我是 lodash 的新手,我很难格式化将显示在展开表上的数据。我收到来自服务器的数据响应,如下所示:

[{Day: 1, ItemName: "Item1", Total: 1, Details: "Brand X", Quantity: 5, Part: "Part A"}]

我希望它看起来像这样:

[{
Day: 1,
ItemName: "Item1",
Total: 1,
ItemDetails: [{
     Details: "Brand X",
     Quantity: 5,
     ItemParts: [{
          Part: "Part A"
          }]
     }]
}]

我使用了 .chain.GroupBy 函数,它显示在显示 Day、ItemName 的表格上总行数。使用 .map 函数,因此当用户单击表格行时,它会展开并显示 ItemDetails。 但不幸的是,我不知道如何显示当用户单击 ItemDetails 时也会扩展的最后一行或第三个嵌套 json 数据(即 ItemParts)。

附:您可以使用任何 lodash 函数,但请将数据格式化为上述描述中的样子

P.S.S 我只想格式化 JSON 数据响应,我不想修改表中的任何内容

【问题讨论】:

    标签: javascript json lodash


    【解决方案1】:

    类似这样的东西,没有 lodash,

    const arr = [{
      Day: 1,
      ItemName: "Item1",
      Total: 1,
      Details: "Brand X",
      Quantity: 5,
      Part: "Part A"
    }]
    
    const result = arr.map(x => ({
      Day: x.Day,
      ItemName: x.ItemName,
      Total: x.Total,
      ItemDetails: [{
        Details: x.Details,
        Quantity: x.Quantity,
        ItemParts: [{
          Part: x.Part
        }]
      }],
    }))
    
    console.log(result)

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 2021-12-17
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多