计算数组中每个元素出现的次数
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;
},{});
}