【发布时间】:2016-04-25 11:58:39
【问题描述】:
我正在使用 TypeScript 或 JavaScript 寻找一个强大的解决方案来计算对象数组中的出现次数。我想在日期之前做到这一点。 (我需要它来创建一些图表)
例如,我有这个数组:
var arr = [
{date: Wed Jan 20 2016
type: "Apples"},
{date: Mon Feb 29 2016
type: "Peaches"},
{date: Thu Mar 31 2016
type: "Apples"},
{date: Fri Apr 22 2016
type: "Apples"},
{date: Fri Apr 22 2016
type: "Apples"},
{date: Fri Apr 22 2016
type: "Apples"},
{date: Fri Apr 22 2016
type: "Strawberries"}
]
我想要的结果是下一个:
var arr2 = [
{date: Wed Jan 20 2016
type: ["Apples", 1]},
{date: Mon Feb 29 2016
type: ["Peaches",1]},
{date: Thu Mar 31 2016
type: ["Apples",1]},
{date: Fri Apr 22 2016
type: ["Apples",3],["Strawberries",1]}
]
我不知道为什么,但我找不到一个好的解决方案,我正在努力几天......
如果有人知道技巧、函数或其他什么?
【问题讨论】:
-
显示你已经尝试过的代码。
-
类似这样的东西:function getOccurences(table) { var tableCount = []; table.sort(); var当前=空; var cnt = 0; for (var i = 0; i 0) { tableCount.push([current, cnt]); } 当前 = 表 [i]; cnt = 1; } 其他 {cnt++; } } if (cnt > 0) { tableCount.push([current, cnt]); } 返回表计数; }
标签: javascript arrays json date find-occurrences