Array.prototype.reduce可以实现很多功能,统计数组中各元素出现次数也是其中一个,代码如下:
var arr = [1,2,35,33,5,3,3,23,5,6,1,44,33,6];
var count = arr.reduce(function(allElements, ele){
if (ele in allElements) {
allElements[ele]++;
} else {
allElements[ele] = 1;
}
return allElements;
}, {});
结果如下: