判断一个字符串 'abcoefoxyozzopp' 中出现最多的字符,并统计其次数。
核心算法:
1、首先遍历字符串,用到 charAt(index)方法
2、把每个字符存储给对象,如果对象没有该属性,将其添加至属性,属性值设为1;如果有,就将属性值追加1
3、遍历对象,得到最大值和该字符
var str = 'abcoefoxyozzopp' ; var obj = {}; for(var i=0; i<str.length; i++){ //chars为字符串中每一个字符 var chars = str.charAt(i); //判断chars是否存在于obj中 if(obj[chars]){ obj[chars] ++; } else { obj[chars] = 1; } } console.log(obj); //遍历对象,取出属性值的最大值 var max = 0; var ch = ''; for(var k in obj){ if( obj[k] > max){ max = obj[k]; ch = k; } } console.log('最多的字符是:'+ch+',出现了'+max+'次');