js数组去重,并统计最多项算法

从事了一段时间的前端开发,今天写了一个数组去重,并统计最多项的方法,目前只支持数组的项都是数字。html

因为本人能力有限,但愿能获得网友的指正!若有问题或者更好的实现思路,也欢迎你们和我讨论!代码以下:前端

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);app

测试结果以下:测试

转载请注明出处:http://www.cnblogs.com/callmesummer/p/3938120.htmlhtm

 拿出手机扫一扫,但愿你们能支持一下:blog

相关文章
相关标签/搜索