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 相关文章推荐
escape、encodeURI 和 encodeURIComponent 的区别
Mar 02 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
Oct 17 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
用js屏蔽被http劫持的浮动广告实现方法
Aug 10 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
ES5新增数组的实现方法
May 12 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
ajax缓存问题解决途径
2006/12/06 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
python通过yield实现数组全排列的方法
2015/03/18 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
简单谈谈python的反射机制
2016/06/28 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
python队列原理及实现方法示例
2019/11/27 Python
学习Python列表的基础知识汇总
2020/03/10 Python
python-地图可视化组件folium的操作
2020/12/14 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
十月份红领巾广播稿
2014/01/22 职场文书
社团招新策划书
2014/02/04 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
民主生活会意见
2015/06/05 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers