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

 更新时间:2017年02月04日 08:52:19   作者:孟然  
最近在项目中遇到这样的需求:求字符串'nininihaoa'中出现次数最多字符。怎么实现呢?下面小编给大家分享具体实现代码,需要的朋友参考下吧

例如:求字符串'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查找字符串中出现最多的字符及个数统计,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 微信小程序实现文字从右向左无限滚动

    微信小程序实现文字从右向左无限滚动

    这篇文章主要为大家详细介绍了微信小程序实现文字从右向左无限滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 理解Javascript的call、apply

    理解Javascript的call、apply

    这篇文章主要介绍了Javascript的call、apply,其作用基本相同,但也有略微的区别,需要的朋友可以参考下
    2015-12-12
  • JS实现的简单四则运算计算器功能示例

    JS实现的简单四则运算计算器功能示例

    这篇文章主要介绍了JS实现的简单四则运算计算器功能,涉及javascript事件响应及数值运算相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • javascript瀑布流式图片懒加载实例解析与优化

    javascript瀑布流式图片懒加载实例解析与优化

    这篇文章主要针对javascript瀑布流式图片懒加载实例进行解析与优化,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 在网页里看flash的trace数据的js类

    在网页里看flash的trace数据的js类

    我的js类jdhcn.js中的一个flashDebug方法
    2009-01-01
  • 如何用CocosCreator制作微信小游戏

    如何用CocosCreator制作微信小游戏

    这篇文章主要介绍了如何用CocosCreator制作微信小游戏,从下载工具到配置,最后连接微信小游戏预览,一步步很详细,希望读者们仔细看一下
    2021-04-04
  • javascript写一个ajax自动拦截并下载数据代码实例

    javascript写一个ajax自动拦截并下载数据代码实例

    这篇文章主要介绍了javascript写一个ajax自动拦截并下载数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 如何用threejs实现实时多边形折射

    如何用threejs实现实时多边形折射

    这篇文章主要介绍了如何用threejs实现实时多边形折射,对three.js库感兴趣的同学,可以参考下
    2021-05-05
  • 理解Javascript闭包

    理解Javascript闭包

    闭包是ECMAScript一个很重要的特征,但是却很难用合适的定义来描述它。虽然闭包很难清晰地描述,但是,却很容易创建,或者说,不小心创建。然而,闭包的存在其实是有一定的潜在问题的。为了避免“不小心”地创建闭包,以及更好地利用闭包的优点,有必要理解闭包的机制
    2013-11-11
  • JS组件系列之Bootstrap Icon图标选择组件

    JS组件系列之Bootstrap Icon图标选择组件

    这篇文章给大家介绍js组件系列之Bootstrap Icon图标选择组件,对bootstrap icon图标相关知识感兴趣的朋友一起学习吧
    2016-01-01

最新评论