我有一个包含数千个字符串的数组
['7/21/2011', '7/21/2011', '7/21/2011', '7/20/2011', etc]
我目前正在运行以下代码,以字符串分组并获取最大分组值:
var max = 0;
var group = {};
arr.map(function (value) {
if (group[value]) {
group[value]++;
} else {
group[value] = 1;
}
max = Math.max(max, group[value]);
});
有没有改进这段代码以使其运行速度更快的方法?
编辑: 结果已经出来:http://jsperf.com/javascript-array-grouping2
编辑编辑:那个测试有误。 Mike Samuel 的代码是最快的。
6000 条目测试 -> http://jsperf.com/javascript-array-grouping2
10K 条目测试 -> http://jsperf.com/javascript-array-grouping