方式一
<!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>
1.统计字符串中出现次数最多的字符是哪个,出现了几次
示例字符串: str="abcdeereeryhhssqqq"
</title>
</head>
<body>
<script>
var str = 'abcdeereeryhhssqqq';
function countStr(str) {
var obj = {};
//遍历字符串 获取每一个字符
for (var i = 0; i < str.length; i++) {
// str[i] 相当于一个变量 obj[str[i]] 取值
if (obj[str[i]]) {
obj[str[i]]++;
} else {
//obj.a = 1
obj[str[i]] = 1;
}
}
var k;
var max = -1;
//遍历对象 属性 for
for (var key in obj) {
if (max < obj[key]) {
max = obj[key];
k = key;
}
}
return k + ':' + max;
}
var s = countStr(str);
console.log(s);
</script>
</body>
</html>
方法二
<!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>
1.统计字符串中出现次数最多的字符是哪个,出现了几次
str="abcdeereeryhhssqqq"
</title>
</head>
<body>
<script>
//方法一
// 给定的字符串
const str = 'abcdeereeryhhssqqq';
// 统计字符串中出现次数最多的字符,出现多少次
function statistics(str) {
// 声明一个变量
const obj = {};
// 存放出现次数最多的字符
let maxStr = '';
// 存放出现的次数
let max = 0;
// 遍历字符串,统计每个字符出现的次数
for (const key of str) {
// 判断对象中是否有这个属性
if (obj.hasOwnProperty(key)) {
// 如果有这个属性名,就让这个属性的值++
obj[key]++;
} else {
// 如果没有这个属性,就给这个属性赋值为1
obj[key] = 1;
}
}
// 遍历对象,找出出现最多的字符
for (const key in obj) {
// 如果当前属性的值大于 max ,则更新 max
if (obj[key] > max) {
// 更新出现次数最多的字符的名字
maxStr = key;
// 更新出现次数
max = obj[key];
}
}
// 返回出现次数最多的字符,还有次数
return { maxStr, max };
}
const obj = statistics(str);
console.log(
`字符串中出现次数最多的字符是 ${obj.maxStr} ,出现了 ${obj.max} 次`
);
</script>
</body>
</html>