javascript获取重复次数最多的字符


Posted in Javascript onJuly 08, 2015

javascript获取重复次数最多的字符

/**
  取出字符串中重复字数最多的字符
*/
var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa';  
 //创建字符串
var word,  











 //单个字符
  length; 











 //该字符的长度
//定义输出对象
var max = {
  wordName : '', 









 //重复次数最多的字符
  wordLength : 0 









 //重复的次数
};
//递归方法,传入字符串
(function(words) {
  if (!words) return;         //如果字符串已经变空则返回,结束递归
  word  = words[0];         //取出字符串中的第一个字符
  length = words.length;         //将length设为当前字符串长度
  words  = words.replace(new RegExp(word, 'g'), ''); //返回将字符串剔除当前字符的剩余字符串
  length = length - words.length;      //重设length为当前字符在字符串中的长度
  if (length > max.wordLength)       //如果该字符重复次数大于maxLength,则重设maxLength为当前字符重复次数
    max = {               //重设对象的值
      wordName  : word,            
      wordLength : length       
    };              
  arguments.callee(words);        //递归调用,传入剩余字符串
})(words);
console.log(max.wordName+"\n"+max.wordLength);     //递归结束后输出结果

今天上午偶然看见这样的一个问题.看到网上大部分是用两个循环做出来的.然后自己用递归写了一下

思路是

每递归一次.取出第一个字符.从字符串中剔除相同符号的字符,并拿之前的字符串长度减去剔除后的字符串长度.

得到的是该字符串中当前字符所重复次数.

判断该字符重复次数是否大于当前输出对象中存储的maxLength.

如true,则更新

然后进入下次递归,直到字符串被替换完,终止

输出对象中存储的就是次数最多的字符以及重复的次数

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
Apr 23 Javascript
js substring从右边获取指定长度字符串(示例代码)
Dec 23 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 Javascript
Uploadify上传文件方法
Mar 16 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
js获取地址栏参数的两种方法
Jun 27 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
Jan 31 Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
es6中使用map简化复杂条件判断操作实例详解
Feb 19 Javascript
javascript连续赋值问题
Jul 08 #Javascript
JavaScript中函数(Function)的apply与call理解
Jul 08 #Javascript
JavaScript forEach()遍历函数使用及介绍
Jul 08 #Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 #Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
Jul 08 #Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 #Javascript
浅谈jQuery中setInterval()方法
Jul 07 #Javascript
You might like
php强制运行广告的方法
2014/12/01 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
python中的sort方法使用详解
2014/07/25 Python
Python脚本实现格式化css文件
2015/04/08 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
详解python datetime模块
2020/08/17 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
简历上的自我评价
2014/02/03 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
组工干部对照检查材料
2014/08/25 职场文书
欢迎家长标语
2014/10/08 职场文书
环境卫生整治简报
2015/07/20 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python