前端2020面试题------如何判断字符串中出现次数最多的数
var str = "11112566994898746150098704";
function getMaxStr(str) {
var obj = {
};
// 1. 获取每个字符出现的次数
for (let i = 0; i < str.length; i++) {
// 获取字符串中的每个字符
let key = str[i];
// 判断key值是否存在
if (obj[key]) {
// 存在,则累加出现的次数
obj[key]++;
} else {
// 字符出现次数默认为1
obj[key] = 1;
}
}
// 2. 比较数字的大小,得出出现最多的字符
// 假设是出现次数最多的次数
var maxCount = 0;
// 假设这个字符串是次数出现最多的字符串
var maxString = "";
// 遍历比较
for (var key in obj) {
if (maxCount < obj[key]) {
// 保存最大的次数
maxCount = obj[key];
// 保存当前数对应的字符
maxString = key;
}
}
return "出现次数最多的字符:" + maxString + ";\n共出现:" + maxCount + "次";
}
console.log(getMaxStr(str));
// 出现次数最多的字符:1;
// 共出现:5次