var arr = "abbbbshdkhhhhadnkncueuijdow";
var o={};//创建一个空的对象
for(var i=0;i<arr.length;i++){//遍历对象
var chars = arr.charAt(i);//用chars来记录每一个索引对应的数据元素
if(o[chars])//对象['属性']即调用对象里面的属性和对象.属性的作用一样,这里表示如果该属性存在
o[chars]++;//那么该属性值就++
else//如果该属性不存在
o[chars]=1;//那么就将该属性加入到此对象里面,并将属性值设置为1
}
console.log(o);//输出该对象,输出结果是arr中各元素及出现的次数
var ch='';//设置字符型变量ch用来记录出现次数最多的字符
var max=0;//设置max用于记录出现最多的次数
for(var k in o){//k得到的是属性名,o[k]得到的是属性值(利用for in来遍历对象for(var 变量 in 对象))
if(o[k]>max){//如果该属性值大于max
max=o[k];//则用max记录下当前最大的属性值
ch=k;//记录当前属性值最大的属性
}
}
console.log(ch+':'+max);//将出现最多的属性和属性值进行输出
思路:创建一个空的对象,然后遍历字符串,利用charAt()方法遍历每一个字符,然后在对象中寻找是否存在该属性,如果没有就创建属性,即o[‘属性’]=1,如果存在就++,用于记录该字符出现的次数。最后利用for in遍历对象,找出出现次数最多的属性。