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 相关文章推荐
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
JavaScript基本的输出和嵌入式写法教程
Oct 20 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
bootstrap css样式之表单
Jan 19 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
深入理解令牌认证机制(token)
Aug 22 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
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和MySql中计算时间差的方法
2011/04/22 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
Jquery之美中不足小结
2011/02/16 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
Python虚拟环境venv用法详解
2020/05/25 Python
web页面录屏实现
2019/02/12 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
某科技软件测试面试题
2013/05/19 面试题
专升本自我鉴定
2013/10/10 职场文书
精细化工应届生求职信
2013/11/17 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
店长岗位职责
2015/02/11 职场文书
初中毕业生感言
2015/07/31 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android