给一个数组,找出这个数组中那一个元素出现次数最多,且说明最多出现几次,用js写出来,请问该这么写?麻烦知道的给解答下,谢谢
1 回答
慕仙森
TA贡献1827条经验 获得超8个赞
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
}添加回答
举报
0/150
提交
取消
