找出字符串中出现最多的字符和出现的次数
作者:dh20156 日期:2007-06-07
在CSDN回复的一个帖子,以下是一些经过整理的方法!
<script type="text/javascript">
var str="";
function init(){
var str1="a.b^de\sdf}sdfs+fas$ad";
str=new Array(15001).join(str1);
document.getElementById("a").innerHTML += "长字符串已生成!"
}
function dh20156(str){
var t = {}, m=0, n="";
for(var i=0;i<str.length;i++){
var s = str.charAt(i);
t[s]?++t[s]:t[s]=1;
}
for(i in t){
if(m < t[i]){
n = i;
}else if(m==t[i]){
n += ","+i;
}
m = Math.max(m, t[i]);
}
return {"s": n, "t": m};
}
function meizz(str){
var count={"key": "", "maxLen":0}, n;
while((n=str.length)>0){
var s=ss=str.charAt(0);
if("^$|\\+?[](.)".indexOf(s)>-1) ss="\\"+ s;
str=str.replace(new RegExp(ss,"g"),"");
n -= str.length; count[s]=n;
if(n>count["maxLen"]){
count["key"]=s;count["maxLen"]=n;
}else if(n == count["maxLen"]){
count["key"] += ","+s;count["maxLen"]=n;
}
}
return {"s":count["key"],"t":count["maxLen"]};
}







