为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕容708150 2018-09-13 10:09:19
给一个数组,找出这个数组中那一个元素出现次数最多,且说明最多出现几次,用js写出来,请问该这么写?麻烦知道的给解答下,谢谢
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

hash啊 说个思路,定义一个对象obj,遍历数组, 对象的键为数组的元素,值为出现的次数。然后遍历这个对象,找出值为最大的那个。

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
}


查看完整回答
反对 回复 2018-10-19
  • 1 回答
  • 0 关注
  • 1096 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信