javascript获取重复次数最多的字符
javascript获取重复次数最多的字符
/**
取出字符串中重复字数最多的字符
*/
varwords='sdfghjkfastgbyhnvdstyaujskgfdfhlaa';//创建字符串
varword,//单个字符
length;//该字符的长度
//定义输出对象
varmax={
wordName:'',//重复次数最多的字符
wordLength:0//重复的次数
};
//递归方法,传入字符串
(function(words){
if(!words)return;//如果字符串已经变空则返回,结束递归
word=words[0];//取出字符串中的第一个字符
length=words.length;//将length设为当前字符串长度
words=words.replace(newRegExp(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,则更新
然后进入下次递归,直到字符串被替换完,终止
输出对象中存储的就是次数最多的字符以及重复的次数
以上所述就是本文的全部内容了,希望大家能够喜欢。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语