按值javascript在数组内的分组元素

问题描述 投票:-1回答:1

我的javascript API中有此结果,用于计算需要对date元素进行分组的其他内容。结果是这样的:

[
  "2020-01-24 08:00:00",
  "2020-01-23 14:00:00",
  "2020-01-23 12:00:00",
  "2020-01-23 09:00:00",
  "2020-01-22 09:00:00",
  "2020-01-22 13:00:00"
]

我必须像这样分组:

[ "2020-01-24": 1 value,
  "2020-01-23": 3 value,
  "2020-01-22": 2 value ]
javascript arrays
1个回答
0
投票
使用Array.prototype.reduce,在其中迭代数组,并继续增加累加器中的值。

var x = [ "2020-01-24 08:00:00", "2020-01-23 14:00:00", "2020-01-23 12:00:00", "2020-01-23 09:00:00", "2020-01-22 09:00:00", "2020-01-22 13:00:00" ]; const formattedDate = x.reduce((acc,el) => { const date = el.split(" ")[0]; acc[date] = (acc[date] || 0) + 1; return acc; }, {}); console.log(formattedDate);

0
投票
使用https://lodash.com/docs/4.17.15#groupBy

const array = [ "2020-01-24 08:00:00", "2020-01-23 14:00:00", "2020-01-23 12:00:00", "2020-01-23 09:00:00", "2020-01-22 09:00:00", "2020-01-22 13:00:00" ] const result = _.groupBy(array, element => element.split(' ')[0])

© www.soinside.com 2019 - 2024. All rights reserved.