给一个数组,找出这个数组中那一个元素出现次数最多,且说明最多出现几次,用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 }
添加回答
举报
0/150
提交
取消