如何获取如下数组中出现次数最多的元素以及出现的次数
const arr = [45, 45, 2, 3, 2, 4, 89, 89, 45, 45, 78, 10];
如下所示
function findMostElement(arr) {
let maxEle; // 出现次数最多的元素
let total = 1; // 出现的次数
let objs = arr.reduce(function(obj, key) {
obj[key] ? obj[key]++ : obj[key] = 1;
if(obj[key] > total) {
maxEle = key;
total++;
}
return obj;
},{});
return {maxEle: maxEle, total: total};
}
findMostElement(arr); // {maxEle: 45, total: 4}