美文网首页
js求字符串中出现字符最多的字符

js求字符串中出现字符最多的字符

作者: 阿力阿狸123 | 来源:发表于2017-08-14 20:11 被阅读0次

varstr ="zhaochucichuzuiduodezifu";

var o = {};

for(vari = 0, length = str.length; i < length; i++) {

// var char = str[i];

var  char = str.charAt(i);

if(o[char]) {//char就是对象o的一个属性,o[char]是属性值,o[char]控制出现的次数

o[char]++;//次数加1

}else{

o[char] = 1;//若第一次出现,次数记为1

}

}

console.log(o);//输出的是完整的对象,记录着每一个字符及其出现的次数

//遍历对象,找到出现次数最多的字符和次数

varmax = 0;

varmaxChar =null;

for(varkeyino) {

if(max < o[key]) {

max = o[key];//max始终储存次数最大的那个

maxChar = key;//那么对应的字符就是当前的key

}

}

console.log("最多的字符是"+ maxChar);

console.log("出现的次数是"+ max);

以上代码运行后再控制台输出的结果如下图:

不过还是存在不足,不能直接把次数最高的字符同时输出,这还需要加额外的判断条件。完美的代码如下哈O(∩_∩)O

varstr ="nininihaoa";

var o = {};

for(vari = 0, length = str.length; i < length; i++) {

var char = str.charAt(i);

if(o[char]) {

o[char]++;//次数加1

}else{

o[char] = 1;//若第一次出现,次数记为1

}

}

console.log(o);//输出的是完整的对象,记录着每一个字符及其出现的次数

//遍历对象,找到出现次数最多的字符的次数

var max = 0;

for(var key in o) {

if(max < o[key]) {

max = o[key];//max始终储存次数最大的那个

}

}

for(var key in o) {

if(o[key] == max) {

//console.log(key);

console.log("最多的字符是"+ key);

console.log("出现的次数是"+ max);

}

}

结果如下:

相关文章

网友评论

      本文标题:js求字符串中出现字符最多的字符

      本文链接:https://www.haomeiwen.com/subject/mukprxtx.html