JS查找字符串中出现最多的字符及个数统计

 更新时间:2017年02月04日 08:52:19   作者:孟然  
最近在项目中遇到这样的需求:求字符串'nininihaoa'中出现次数最多字符。怎么实现呢?下面小编给大家分享具体实现代码,需要的朋友参考下吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

例如:求字符串'nininihaoa'中出现次数最多字符 

var str = "nininihaoa";
 var o = {};
 for (var i = 0, length = str.length; i < length; i++) {
  var char = str.charAt(i);
  if (o[char]) {
   o[char]++; //次数加1
  } else {
   o[char] = 1; //若第一次出现,次数记为1
  }
 }
 console.log(o); //输出的是完整的对象,记录着每一个字符及其出现的次数
 //遍历对象,找到出现次数最多的字符的次数
 var max = 0;
 for (var key in o) {
  if (max < o[key]) {
   max = o[key]; //max始终储存次数最大的那个
  }
 }
 for (var key in o) {
  if (o[key] == max) {
   //console.log(key);
   console.log("最多的字符是" + key);
   console.log("出现的次数是" + max);
  }
 } 

结果如图所示:

下面看下使用 js 判断一个字符串在另一个字符串中出现了几次

 判断一个字符串在另一个字符串中是否存在

entry_name1.indexOf(entry_name)!='-1'

判断一个字符串在另一个字符串中出现了几次。

function countInstances(mainStr, subStr)
  {
    var count = 0;
    var offset = 0;
    do
    {
      offset = mainStr.indexOf(subStr, offset);
      if(offset != -1)
      {
        count++;
        offset += subStr.length;
      }
    }while(offset != -1)
    return count;
  }

以上所述是小编给大家介绍的JS查找字符串中出现最多的字符及个数统计,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对程序员之家网站的支持!

相关文章

最新评论

?


http://www.vxiaotou.com