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 性能优化手册 推荐
Feb 23 Javascript
extjs之去除s.gif的影响
Dec 25 Javascript
文本框input聚焦失焦样式实现代码
Oct 12 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
Oct 28 Javascript
JavaScript语言对Unicode字符集的支持详解
Dec 30 Javascript
jQuery实现延迟跳转的方法
Jun 05 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 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/02/13 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python逆向入门教程
2018/01/15 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
超市中秋节活动方案
2014/02/12 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
优秀党员个人总结
2015/02/14 职场文书
小学教师自我评价
2015/03/04 职场文书
审美与表现自我评价
2015/03/09 职场文书
详解Nginx 工作原理
2021/03/31 Servers
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Django REST framework 限流功能的使用
2021/06/24 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技