日期:2014-05-16  浏览次数:20410 次

JS计算字符串中出现次数最多字符
以前面试中页遇到过这样问题,原题好像是在一个长度10万的数组中,求重复字符串次数?
function(str){
  var maxLength = 0; //最大字符串长度
  var res = {};      //每种字符出现次数

  while(str){ //while循环效率高于for循环
    var oldStr = str; 
    var getStr = str.substr(0,1); //取第一个字符
    str = str.replace(new RegExp(getStr,"g"),"");
    //oldStr.length - str.length; //取得重复字符串个数
    //res[getStr] = oldStr.length - str.length;//字符出现次数
    if(oldStr.length - str.length > maxLength ) { 
       maxLength = oldStr.length-str.length; //最大字符串长度
     }
  }  
  return res;
}


参考:

http://www.planabc.net/2007/09/05/which_letter_most_times/