使用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)

要搞清楚這個方法,得先了解js的reduce方法


此博客寫的比較清楚 https://www.cnblogs.com/smallpen/p/10249288.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM