判斷一個字符串 '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+'次');