案例:返回字符位置

判断一个字符串’abcoefoxyozzopp’中出现次数最多的字符,并统计出现了几次。

案例前提准备:

有一个对象,来判断是否有该属性 对象[‘属性名’]
var obj = {
age:18
}
if(obj[‘age’]){
console.log(‘里面有该属性’);
}else{
console.log(‘没有该属性’);
}

核心算法:

①利用charAt()遍历这个字符串
②把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1
③遍历对象,得到最大值和该字符

  1. <script><br /> var str = 'abcoefoxyozzopp';<br /> var obj = {};<br /> //遍历字符串<br /> for(i = 0; i < str.length; i++){<br /> var chars = str.charAt(i);//chars是字符串的每一个字符<br /> // 把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1<br /> if(obj[chars]){//obj[chars]得到的是属性值<br /> obj[chars]++;<br /> }else{<br /> obj[chars] = 1;<br /> }<br /> }<br /> console.log(obj);<br /> // 遍历对象,得到最大值和该字符<br /> var max = 0;<br /> var ch = '';<br /> for(varkinobj){//k得到的是属性名 obj[k]得到的是属性值<br /> if(obj[k] > max){<br /> max = obj[k];<br /> ch = k;<br /> }<br /> }<br /> console.log('出现最多的字符是:' + ch + ',出现了' + max + '次');<br /> </script><br />{a: 1, b: 1, c: 1, o: 4, e: 1, …}<br />出现最多的字符是:o,出现了4次<br />.