常用算法案例:找出数组中重复次数最多的3个元素

js代码:

 Array.prototype.getMaxFrequency = function(){
        var obj = {}, arrObj = {};
        for(var i = 0; i < this.length; i++ ){
            arrObj[this[i]] == undefined ? arrObj[this[i]] = 1 : arrObj[this[i]] ++;
        };
        for(var j = 1;j <= 3; j++ ){
            var maxEle;
            var maxNum = 0;
            for(var i in arrObj){
                if(arrObj[i] >= maxNum){
                    maxEle = i;
                    maxNum = arrObj[i];
                }
            }
            obj[j] = maxEle;
            delete arrObj[maxEle];
        }
        return obj;
    }

    var a = ["足球","篮球","乒乓球","足球","篮球","乒乓球","篮球","乒乓球","电脑","cup","cup","cup","cup"].getMaxFrequency();

    console.log(a)
   //a = {
// 1:"cup",
// 2:"乒乓球",
// 3:"篮球"
// }
 
数组调用一下上面的方法即可
posted @ 2019-01-10 15:47  前端~~工匠  阅读(1072)  评论(0)    收藏  举报