思路:使用charAt()方法可以通过for循环来依次遍历出字符串中的字符
将遍历出来的字符作为一个空对象的属性
如果该对象中该属性没有值则对其赋值为1
如果该对象中已经有值了则在原基础上加1
最后通过for in循环比较对象中个属性值大大小然后将其打印出来
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var str = 'acaaccbadfahj';
var x = {}; //创建一个空对象
for(var i=0; i<str.length; i++) { //依次遍历字符串中的字符
var chars = str.charAt(i);
if(x[chars]) { //判断对象中该是否被赋值,有则在原基础上加1
x[chars]++;
}
else { //对象中该属性没有值,给该属性赋值为1
x[chars]=1;
}
}
var max=0;
for(k in x) {
if(max<x[k]) { //比较对象中各属性的值大大小
max=x[k]; //将最大值赋值给max
ch=k; //将最大值的属性赋值ch(ch为全局变量)
}
}
console.log('出现次数最多的为'+ch+':'+max);
</script>
</head>
<body>
</body>
</html>