求字符串重复次数最高字符

文章目錄

返回字符串重复次数最多字符的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
	function strmaxre(str){
console.time('end');
var arr = str.split(''),_str,num = 0,maxnum = 0,strname = [],hash = {},result;
_str = arr.sort();
// console.log(_str.length)
for(var i = 0 , l = _str.length;i<l;i++){
var val = _str[i],nextval = _str[i+1];
if(!hash[val]){
hash[val] = true;
num = 1;
}else{
num++;
if(nextval !== val && maxnum < num){ //加了对下一个字符是否一样,也就是同一个字符的统计是否结束的判断,统计结束才对数量进行比较,避免相等时也会作比较。
strname = [val];
maxnum = num;
// console.log('<<<<',val,num);
}else if(maxnum === num){
strname.indexOf(val) === (-1) && strname.push(val);
// console.log('===',val,num);
}
}
}
result = strname + '重复最多,共'+ maxnum+'次';
console.timeEnd('end');
return result;
}