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 相关文章推荐
动态加载iframe
Jun 16 Javascript
Stop SQL Server
Jun 21 Javascript
DIY jquery plugin - tabs标签切换实现代码
Dec 11 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 Javascript
JavaScript基本语法学习教程
Jan 14 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
深入浅析Node环境和浏览器的区别
Aug 14 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 Javascript
vue动态绑定style样式
Apr 20 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
linux iconv方法的使用
2011/10/01 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jquery编写日期选择器
2017/03/16 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
Windows 64位下python3安装nltk模块
2018/09/19 Python
详解django中使用定时任务的方法
2018/09/27 Python
python学生管理系统学习笔记
2019/03/19 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
python中dict()的高级用法实现
2019/11/13 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
EJB timer的种类
2014/10/28 面试题
马智宇结婚主持词
2014/04/01 职场文书
学生评语集锦
2015/01/04 职场文书
详解Python牛顿插值法
2021/05/11 Python