场景描述:你需要统计一个字符串里面的各个字符出现的次数,并且把出现次数最多的字符打印出来
const str = "anmjiiiiiiiiiiiiiopddhgaassdqadfaaaqaddvvca" //定义一个字符串
let obj = {} //定义一个空对象,用来接收字符串里面的字符
let max = 0 //定义一个变量存储最大值
let char = '' //定义一个变量存储出现次数最多的字符
for(let i = 0; i < str.length; i++){
let chars = str.charAt(i) //利用charAt(index)把对应下标的每一个字符去取出来赋值给charts
if(obj[chars]){ //如果是obj对象里面已经有了该字符,就把该字符的数量加1
obj[chars]++
}else{ //如果obj对象里面并没有含有该字符,则会把该字符添加进到obj对象里面,并且把他的初始数值置为1
obj[chars] = 1
}
}
for(let i in obj){ //在obj对象里面比较每一个属性
if( obj[i] > max){
max = obj[i] //取出最大值赋值给 max
char = i //把最大值的属性赋值给 char
}
}
for(let i in str){
document.write(`${str[i]} `) //输出要数的字符串
}
document.write("</br>");
for(let i in obj){ //把每一个字符的数量都列出来
document.write(`${i}:${obj[i]} `);//反引号的写法可以省略掉以前一般写法靠 + 连接的情况
}
document.write("</br>");
document.write(`该出现次数最多的是 ${char} ,次数为 ${max} `);