javascript 数组中出现的次数最多的元素

javascript 数组中出现的次数最多的元素

var arr = [1,-1,2,4,5,5,6,7,5,8,6];
var maxVal = arr[0]; // 数组中的最大值
var minVal = arr[0]; // 数组中的最小值
var mostVal; // 数组中出现次数最多的元素
var tempObj = {};
var num = 0;
for(var i=arr.length-1; i>=0; i--){
    if(maxVal<arr[i]){ // 得到最大值
        maxVal = arr[i]
    }
    if(minVal>arr[i]){ // 得到最小值
        minVal = arr[i]
    }
    if(tempObj[arr[i]]){ // 得到元素出现的次数,并组成obj
        tempObj[arr[i]] = tempObj[arr[i]]+1;
    }else{
        tempObj[arr[i]] = 1;
    }
}
for(var key in tempObj){ // 从对象中得到数组中出现最多的元素
    if(!mostVal){
        mostVal = key;
    }else if(tempObj[mostVal]<tempObj[key]){
        mostVal = key;
    }
}
console.log("最大值为"+maxVal+"; 最小值为"+minVal+"; 次数最多的为"+mostVal);
posted @ 2017-04-17 11:25  yanyuji  阅读(3525)  评论(0编辑  收藏  举报