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 相关文章推荐
使用prototype.js进行异步操作
Feb 07 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 Javascript
ext前台接收action传过来的json数据示例
Jun 17 Javascript
Javascript获取当前日期的农历日期代码
Oct 08 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
Feb 24 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
Oct 15 Javascript
JS完成画圆圈的小球
Mar 07 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
Vue 中axios配置实例详解
Jul 27 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
如何在JavaScript中谨慎使用代码注释
Jun 21 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信号量基本用法实例详解
2016/02/12 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
Python实现Logger打印功能的方法详解
2017/09/01 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
如何在python中写hive脚本
2019/11/08 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android