实现步骤:
- 利用对象进行数组去重,并统计每个数字出现的次数;
- 比较返回出现次数最多的数字
function fn(arr) {
// 利用对象属性存在,对数组去重并统计每个数字出现的次数
let obj = {};
arr.forEach(e => {
if (!obj[e]) {
obj[e] = 1;
} else {
obj[e] = obj[e] + 1;
}
})
// 对象的key为数字,value为数字出现次数
console.log(obj);
let names = Object.getOwnPropertyNames(obj);
// 这不就是数组去重的其中一种方法嘛
console.log(names);
// 遍历数组返回value最大的key
let len = names.length;
let max = 0;
let temp = 0;
for (let i = 0; i < len; i++) {
if (max < obj[names[i]]) {
max = obj[names[i]];
temp = i;
}
}
return names[temp];
}