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 相关文章推荐
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
javascript延时加载之defer测试
Dec 28 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
AngularJS自定义插件实现网站用户引导功能示例
Nov 07 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
Vue.js 表单控件操作小结
Mar 29 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
js实现抽奖的两种方法
Mar 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
递归列出所有文件和目录
2006/10/09 PHP
PHP音乐采集(部分代码)
2007/02/14 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
Python 备份程序代码实现
2017/03/06 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
物价局领导班子四风问题整改措施
2014/10/26 职场文书
失职检讨书大全
2015/01/26 职场文书
财政局个人总结
2015/03/04 职场文书
大学生军训感言
2015/08/01 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle