从事了一段时间的前端开发,今天写了一个数组去重,并统计最多项的方法,目前只支持数组的项都是数字。
由于本人能力有限,希望能得到网友的指正!如有问题或者更好的实现思路,也欢迎大家和我讨论!代码如下:
function getMax(arr){
var obj = {},
l = arr.length,
key = [],
val = [];
for(var i = 0;i<l;i++){
!obj[arr[i]] ? obj[arr[i]] = 1 : obj[arr[i]] += 1;
}
for(i in obj){
key.push(i);
val.push(obj[i]);
}
var max = Math.max.apply("",val);
var pos = (function(){
var j , len = val.length;
for(j=0;j<len;j++){
if(max == val[j]){
return j;
}
}
})();
console.log("出现最多的项是:"+key[pos]+",出现次数为:"+val[pos])
}
var arr = [1,2,3,4,4,1,1];
getMax(arr);
测试结果如下:
原文:http://www.cnblogs.com/callmesummer/p/3938120.html