我有一个数据源如下
[
{
"physicalId": 2110,
"closedDate": "2017-06-25T00:00:00.000Z",
"allDay": true
},
{
"physicalId": 2111,
"closedDate": "2017-06-24T00:00:00.000Z",
"allDay": true
},
{
"physicalId": 2111,
"closedDate": "2017-06-25T00:00:00.000Z",
"allDay": true
},
{
"physicalId": 4299,
"closedDate": "2017-06-24T00:00:00.000Z",
"allDay": true
},
{
"physicalId": 4299,
"closedDate": "2017-06-25T00:00:00.000Z",
"allDay": true
}
]
并且我使用
lodash v4.17.4
通过以下方式汇总数据:[
{
"Sat Jun 24 2017 00:00:00 GMT+0000": 2,
"Sun Jun 25 2017 00:00:00 GMT+0000": 3,
}
]
但是,我希望以此形式返回为对象
[
{
date: "Sat Jun 24 2017 00:00:00 GMT+0000"
total: 2
},
{
date: "Sun Jun 25 2017 00:00:00 GMT+0000"
total: 3
}
]
我无法在lodash中找到一种方法来完成此操作。我该如何实现?
最佳答案
您可以在_.map
之后使用_.countBy
:
_.map(_.countBy(source, "closedDate"), (val, key) => ({ date: key, total: val }))