第一种方法
var str="dgghhdjdjjddjdjdll";
var o={};//定义一个对象来保存字符和字符出现的次数
//key:字符 value:字符出现的次数
for(var i=0;i<str.length;i++){
var char=str.charAt(i);//charAt() 方法可返回指定位置的字符。
if(o[char]){
o[char]+=1;//次数加1
}else{
o[char]=1;//若第一次出现,次数记为1
}
}
console.log(o);//输出的是完整的对象,记录每一个字符及其出现的次数
//遍历对象,找到出现次数最多的字符的次数
var max=0;
for(var key in o){
if(max<o[key]){
max=o[key]//max始终存储次数最大的那个
}
}
for(var key in o){
if(o[key]==max){
console.log(key)
console.log("最多的字符是"+key);
console.log("出现的次数是"+max);
}
}
第二种方法
var t = 'badfadfegaaaaadf';
var h = {};
for (var i=0; i<t.length; i++){
if( h.hasOwnProperty(t[i]) ){
//判断某个属性是否在对象内,方法一
h[t[i]]+=1;
}
else {
h[t[i]] = 1;
}
};
// for (var i=0; i<t.length; i++){
// if( h[t[i]] !== undefined ){
//判断某个属性是否在对象内,方法二
// h[t[i]]+=1;
// }
// else {
// h[t[i]] = 1;
// }
// };
console.log(t);
console.log(h);
// 求t字符串中出现最多次数的字符和次数
var char, times = 0;
for ( k in h ){
if ( h[k] > times ) {
times = h[k];
char = k;
}
}
console.log(char, times);