判断一个字符串出现次数最多的字符,统计这个次数并输出?
// 统计每个字母穿线的次数
var str = 'abckdkkk';
// 创建一个空对象,存储字符串中的每个字符。属性:每个字符,属性值:该字符出现的次数
var obj = {};
for (var i = 0; i < str.length; i++) {
// 遍历字符串
var chars = str.charAt(i);
// chars代表字符串的每一个字符
if (!obj[chars]) {
//如果不存在,赋值为1
obj[chars] = 1;
} else {
// 如果已经存在,次数++
obj[chars]++;
}
// obj[chars]属性值:该字符出现的次数
}
// 遍历对象
var max = 0;
var index = '';
for (var k in obj) {
// k代表属性:每个字符
// obj[k]代表属性值:该字符出现的次数
if (obj[k] > max) {
max = obj[k];
// 将次数最多的字符赋值到index
index = k;
}
}
console.log('最多的字符是' + index + ',次数为' + max);
将它封装为一个函数
function max(str) {
// var str = 'abcdcefgccc'
var obj = {}
for(let i = 0; i<str.length;i++){
var chars = str.charAt(i)
if(!obj[chars]){
obj[chars] = 1
}else {
obj[chars]++
}
}
var max = 0
var index = '';
for(var k in obj){
if(obj[k] > max){
max = obj[k]
index = k
}
}
return console.log('最多的字符是' + index + ',次数为' + max)
}