lodash 将键添加到 countBy 函数

mcg*_*n.b 0 javascript lodash

我有一个数据源如下

[
  {
    "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
  }
]
Run Code Online (Sandbox Code Playgroud)

我用lodash v4.17.4以下方式总结数据:

[
  {
    "Sat Jun 24 2017 00:00:00 GMT+0000": 2,
    "Sun Jun 25 2017 00:00:00 GMT+0000": 3,
  }
]
Run Code Online (Sandbox Code Playgroud)

但是,我希望它以以下格式作为对象返回

[
  {
    date: "Sat Jun 24 2017 00:00:00 GMT+0000"
    total: 2
  },
    {
    date: "Sun Jun 25 2017 00:00:00 GMT+0000"
    total: 3
  }
]
Run Code Online (Sandbox Code Playgroud)

我一直无法找到一种方法来在 lodash 中完成此操作。我怎样才能实现这个目标?

Sar*_*ana 6

您可以_.map在之后使用_.countBy

_.map(_.countBy(source, "closedDate"), (val, key) => ({ date: key, total: val }))
Run Code Online (Sandbox Code Playgroud)