可以从对象的角度考虑:
键值对
键-属性是每个字符
值-属性值是该字符出现的次数
先遍历字符串,将字符和出现次数存入对象;然后for in遍历对象,找到属性值最大的那个属性,并输出属性及属性值;
var str='abcoefoxtozzopp';
var obj={ //创建对象
};
var arr=[];
var max=0;
for(var i=0;i<str.length;i++){ //用对象来保存字符并用属性值来记录出现的次数
str.charAt(i);
if (obj[str.charAt(i)]){
obj[str.charAt(i)]++;
}else{
obj[str.charAt(i)]=1;
}
arr.push(obj[str.charAt(i)]);
}
var max=0;
for (var k in obj){ //遍历对象,寻找最大值,并输出对应属性
if (obj[k]>max){
max=obj[k];
char=k;//k值离开了for in 循环就不起作用了,所以要赋值给新变量;
}
}
console.log(max);
console.log(k);