js计算数组中每个元素出现的次数

计算数组中每个元素出现的次数
var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

var countedNames = names.reduce(function (allNames, name) { 
  if (name in allNames) {
    allNames[name]++;
  }
  else {
    allNames[name] = 1;
  }
  return allNames;
}, {});
// countedNames is:
// { 'Alice': 2, 'Bob': 1, 'Tiff': 1, 'Bruce': 1 }

封装成数组的一个方法

Array.prototype.countTimes = function(){
	return this.reduce(function(time,name){
		if(name in obj){
			obj[name]++;
		}else{
			obj[name] = 1;
		}
		return obj;
	},{});
}
原文地址:https://www.cnblogs.com/fazero/p/7565030.html