方法一:
注意的点:对象的属性获取要用obj[key]是因为这个可以通过变量来访问属性,循环遍历用for..in这个是专门对对象的循环,要适应es6的for...of是要借助Object.keys(obj)来使键名生成一个数组。
function Stingcountermax(str){
var obj={};
for(var i=0,len=str.length;i<len;i++){
var char=str.charAt(i);
if(obj[char]){
obj[char]++;
}else{
obj[char]=1;
}
}
var max=0;
for(var key in obj){
if(obj[key]>max){
max=obj[key];
}
}
console.log(max);
for(var key in obj){
if(max==obj[key]){
console.log("出现最多的字符:"+key);
console.log("出现最多的次数:"+max);
}
}
}
var str="nininihao";
Stingcountermax(str);
方法二:
注意:这里只获取到一个N=3
function Stingcountermax(str){
var maxlength=0;
var result="";
while(str!=""){
var oldstr=str;
var getstr=str.substr(0,1);
str=str.replace(new RegExp(getstr,"g"),"");
if(oldstr.length-str.length>maxlength){
maxlength=oldstr.length-str.length;
result=getstr+"="+maxlength;
}
}
console.log(result)
}
var str="nininihao";
Stingcountermax(str);