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代码实现气泡效果
May 04 Javascript
js判断某个字符出现的次数的简单实例
Jun 03 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
jquery实现吸顶导航效果
Jan 08 jQuery
微信小程序实现菜单左右联动
May 19 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 Javascript
js面试题之异步问题的深入理解
Sep 20 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的单引号和双引号 字符串效率
2009/05/27 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
对pandas的行列名更改与数据选择详解
2018/11/12 Python
使用python+whoosh实现全文检索
2019/12/09 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
EJB timer的种类
2014/10/28 面试题
个人课题方案
2014/05/08 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
房屋维修协议书范本
2014/09/25 职场文书
2015年入党决心书
2015/02/05 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript