方法一:用indexOf的方式逐一对比查找
<script type="text/javascript">
window.onload = function() {
// 定义一个字符串
var str = "sdddrtkjsfkkkkkkkasjdkddjk";
// 记录次数
var count = 0;
// 定义字母
var strMax = "";
// 循环查找
for (var i = 0; i < 26; i++) {
var countTemp = 0;
var varStr = String.fromCharCode(97+i);
// 循环嵌套
for (var m = 0; m < str.length; m++) {
var n = str.indexOf(varStr,m);
if (n > -1) {
// 计数变量自增
countTemp++;
// 修改查找起始位置
m = n;
}
}
// 判断出现的次数是否大于之前的次数
if(countTemp > count){
// 保存大数
count = countTemp
strMax = varStr;
}
}
// 输出
console.log("出现最多次数的字母是:" + strMax + ",出现次数为:" + count);
}
</script>
方法二:将字符串切割为数组然后再循环数组对比
<script type="text/javascript">
window.onload = function() {
// 定义一个字符串
var str = "sdddddddddrtkjsfkkkkkkkasjdkddjk";
// 将字符串切割为数组
var strArr = str.split("");
// 定义最大次数
var maxCount = 0;
// 定义保存最大的字符串
var maxStr = "";
// 循环数组
for(var i = 0; i < strArr.length; i++){
// 定义计数器
var count = 0;
// 循环嵌套
for(var m = 0; m < strArr.length; m++){
// 对比数组中每个字符
if(strArr[i] == strArr[m]){
// 相等则计数器增加
count++;
}
}
// 比较字符出现的次数是否为最大,如果最大就保存进最大变量
if(count > maxCount){
maxCount = count;
// 将最大的字符串保存
maxStr = strArr[i]
}
}
console.log("出现最多次数的字母是:" + maxStr + ",出现次数为:" + maxCount);
}