查找字符串中出现次数最多的字符,并且次数相同时也能够输出:
function maxTime(str){
var arr = [];//定义一个用于保存切割后的字符串的数组
arr = str.split('');
var obj = {};//定义一个用于保存字符串对应出现次数的对象
var max = 0;//定义一个保存最大出现次数的变量
for(var i=0;i<arr.length;i++){
var num = 0;//定义一个保存出现次数的临时变量
for(var j=0;j<arr.length;j++){
if(arr[i]==arr[j]){//统计出现次数
num++;
}
}
if(num > max){
max = num;//将最大出现次数保存下来
}
obj[arr[i]]=num;//将字符写入对象
}
//判断出现次数最多的字符,输出
for(var i in obj){
if(obj[i]==max){//通过与最大值匹配,可以找到最多次数的元素
console.log(i+':'+obj[i]);
}
}
}
//这里测试结果
var str1 = 'aabcassskkhkk';
var str2 = 'bcddd55465';
maxTime(str1);//输出结果是k:4
maxTime(str2);//输出结果是5:3;d:3
可以看到,如果出现两个次数一样多的,那么也可以输出这两个结果。