数组中出现次数最多的值

发布于 分类: JavaScrip 142

在给定的数组中,找到出现次数最多的数字。
出现次数相同时,返回数值最小的数字。

解题思路

1.定义一个对象,在遍历数组的时候,将数组元素作为对象的键,将出现的次数作为值。

2.定义一个最大值,跟次数对比即可得到结果。

通过以上的思想,我们可以得到以下实现代码。

 findNumber(arr) {
  let result = {}
    let max = 0
    let m
    for (let i = 0; i < array.length; i++) {

        if (!result[array[i]]) {
            result[array[i]] = 1
        } else {
            result[array[i]]++
        }
        if (max < result[array[i]]) {
            max = result[array[i]]
            m = array[i]
        }else if(max===result[array[i]]){
            if(m>array[i]){
                m = array[i]
            }
        }
    }
    return m
  }
}


赞 888

关于作者:xiaona

一个喜欢研究的前端工程师。

请进入“Zblog后台” -> “畅言” 登陆你的畅言账号。