如何使用JavaScript中的多个键进行分组

时间:2019-07-16 16:33:54

标签: javascript arrays node.js group-by

预先感谢任何可以帮助我的人。我正在尝试以表格格式在可展开的行中显示数据。我如何用高度,类型和等级等多个键分组。

我知道stackoverflow不是要求代码,而是菜鸟和初学者,stackoverflow是我唯一的选择。请显示您的才华来帮助我。

  

我在第一学期第一学分项目中需要这个。

我有一个对象

 const sensorData = [{
  "id": 19,
  "height": 3.0,
  "orientation": null,
  "rank": "Primary",
  "relativeHeight": 4,
  "stat": "min",
  "type": "wdir",
},
{
  "id": 19,
  "height": 3.0,
  "orientation": null,
  "rank": "Primary",
  "relativeHeight": 6,
  "stat": "min",
  "type": "wdir",
},
{
  "id": 19,
  "height": 1.0,
  "orientation": null,
  "rank": "Primary",
  "relativeHeight": 6,
  "stat": "min",
  "type": "wdir",
}]

我想要的输出是:

[  
   {  
      "isExpandable":true,
      "common":{  
         "height":3.0,
         "rank":"Primary",
         "type":"wdir"
      },
      "data":[  
         {  
            "id":19,
            "orientation":null,
            "relativeHeight":4,
            "stat":"max"
         },
         {  
            "id":19,
            "orientation":null,
            "relativeHeight":6,
            "stat":"min"
         }
      ]
   },
   {  
      "isExpandable":false,
      "id":19,
      "height":1.0,
      "orientation":null,
      "rank":"Primary",
      "relativeHeight":6,
      "stat":"min",
      "type":"wdir"
   }
]

我发现reduce和lodash(_groupBy)很难实现这一目标。

  

已更新:       isExpandable决定是否匹配任何属性或对象是否可以分组。

谢谢

0 个答案:

没有答案