使用js reduce方法求数组中出现次数最多的元素
直接贴代码
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)

 
    
    


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号