直接貼代碼
function getMost(arr) {
let max=null; //出現次數最多的元素
let num=1; //該元素出現次數
arr.reduce((p,k)=>{ //對該數組進行reduce遍歷
p[k]?p[k]++:p[k]=1; //k代表當前正在遍歷的元素。應用到p[k]里,k表示p對象里的一個鍵,p[k]表示該鍵對應的值。不懂的話用如下圖對象測一下就懂了
if(p[k]>num){
num=p[k]
max=k
}
return p //最后返回一個對象
},{})
return {max:max,num:num}
}
let arr=[2,3,4,5,'a',2,3,2,'a','d','b']
getMost(arr)