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

function findMost(arr) {
    if (!arr.length) return
    if (arr.length === 1) return 1
    var res = {}
    // 遍历数组
    for (var i=0,l=arr.length;i<l;i++) {
        if (!res[arr[i]]) {
            res[arr[i]] = 1
        } else {
            res[arr[i]]++
        }
    }
    // 遍历 res
    var keys = Object.keys(res)
    var maxNum = 0, maxEle
    for (var i=0,l = keys.length;i<l;i++) {
        if (res[keys[i]] > maxNum) {
            maxNum = res[keys[i]]
            maxEle = keys[i]
        }
    }
    return maxNum
}
posted @ 2018-04-17 16:57  loewe0202  阅读(202)  评论(0编辑  收藏  举报