function myMaxElement(arr){
var json = {};
for (var i=0; i<arr.length; i++) {
if(json[arr[i]]){ //這個思想很重要,在將數組中元素放入json中時判斷json的鍵是否已經出現過,如果沒有,那讓這個鍵賦值1,如果已經出現,則讓它的值自增1
json[arr[i]]++;
}else{
json[arr[i]] = 1;
}
}
var newArr = [];
for (var name in json){
var newJson = {};
newJson.a = name; //循環json,將每組數據的鍵傳給新json的a,值傳給新json的b
newJson.b = json[name];
newArr.push(newJson);//再將這個新json添加到新數組中,這樣新數組中都是一個個小json,每個json都有2組元素,它們的鍵分別是a和b
}
newArr.sort(function(n1,n2){
return n1.b - n2.b; //通過比較函數,對比每個小json中b的大小將每個小json排序
});
return newArr[newArr.length-1].a + ':' + newArr[newArr.length-1].b; //得到出現最多的鍵,和它出現的次數
}
var arr = [1,4,5,6,3,4,6,6,6,4,6,6,4,3,2,3,4,5,3,4,7,8,9,7,8,6,5,4];
console.log(myMaxElement(arr));