通过charAt方法判断字符串所在的索引,存储在新的对象内。
最后生成一个带次数的对象。如图所示:
最后通过for循环对象,获取最多出现字符的值。
function count(){
var str="aaaabbbbsssseeeeqqaaasss";
var obj={};
for(var i=0;i<str.length; i++){
if(obj[str.charAt(i)]==undefined){
//对象初始化;如果key在对象中找不到,那么会返回undefined,反向思维
obj[str.charAt(i)]= 1;
} else{
obj[str.charAt(i)]++;
}
}
return obj;
//取出各个字母和它的个数,作为一个新对象保存在obj对象中
}
function numberCount(obj){
var mm="";
for(var m in obj){
if(mm==""){
mm=new Object();
mm[m]=obj[m];
}else{
for(var j in mm){
if(mm[j]<obj[m]){
//清空原来的内容
mm=new Object();
//放入新的内容
mm[m]=obj[m];
}
}
}
}
console.log(mm);
}
numberCount(count());