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

相關文章
相關標籤/搜索