实现思路:
1.创建一个空的对象,用于存储字符串中出现的字符和出现次数
2.for循序遍历字符串,将字符串的单个字符,在对象中查找是否有该属性,没有的话,为对象添加属性,属性名 为该字符,属性值 一开始为 1,后面发现重复的就 属性值 +1
3.循环遍历对象,找出属性值最大的,就是出现次数最多的,注意for-in中的变量k是局部变量,不能在方法外访问,所以要创建一个全局变量,找到出现次数最多的字符后,将其赋值给全局变量
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>统计出现次数最多的字符</title>
<script>
// 判断一个字符串‘abcoefoxyozzopp’中出现次数最多的字符,并统计其次数
var str = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < str.length; i++) {
if (!o[str[i]]) {
o[str[i]] = 1;
} else {
// o[str[i]] += 1;
o[str[i]]++;
}
}
console.log(o);
var max = 0;
var word = '';
for (var k in o) {
if (o[k] > max) {
max = o[k];
word = k;
}
}
console.log(max);
console.log('出现次数最多的字符是' + word);
</script>
</head>
<body>
</body>
</html>
打印结果: