判断一个字符串‘abcoefoxyozzopp’中出现次数最多的字符,并统计其次数。
核算算法:
- 利用charArt() 遍历该字符串
- 把每个字符都存储给对象,如果对象没有该元素,就为1,存在了就+1
- 遍历对象,得到最大值和该字符
接着利用对 对象 的遍历来取得出现次数最多的 (for k in o)
var str = 'abcoefoxyozzopp';
var o = {}; //因为最初是空对象
for (var i = 0; i <= str.length; i++) {
var chars = str.charAt(i); //将遍历的字符赋值给 chars chars='某字符' 故此处o[chars]即可,无需o['chars']
if (o[chars]) { //②再有机会进行+1
o[chars] += 1;
} else {
o[chars] = 1; //①所以所有字符都在这先取到1了
}
}
console.log(o);
var max = 0;
var maxCh = ''; //声明了变量来存字符
for (var k in o) {
if (o[k] > max) {
max = o[k];
maxCh = k;
}
}
console.log(max);
console.log('出现最多次的字符是:' + maxCh);