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 相关文章推荐
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 Javascript
jquery $.ajax相关用法分享
Mar 16 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
使用webpack-dev-server处理跨域请求的方法
Apr 18 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
vue下的@change事件的实现
Oct 25 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 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调用数据库的存贮过程
2006/10/09 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
Js面试算法详解
2018/04/08 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
Python subprocess模块学习总结
2014/03/13 Python
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python对数据库操作
2016/03/28 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
物理系毕业生自荐信
2013/11/01 职场文书
财务担保书范文
2014/04/02 职场文书
社区党员干部承诺书
2015/05/04 职场文书
观后感的写法
2015/06/19 职场文书
田径运动会广播稿
2015/08/19 职场文书
2016小学新学期寄语
2015/12/04 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
mysql数据库如何转移到oracle
2022/12/24 MySQL