要统计字符串中出现最多的字符和次数,那我们需要先将字符串中的字符和其数量统计出来,之后再进行比较即可。
那么,字符:字符在字符串中出现的次数
这种形式让我们想到了什么?那就是对象保存数据的格式:
key :value (键值对)的形式
有了这个认知后,我们建一个空的对象,用for循环把字符串中的字符放到对象中变成对象的属性,且属性的初始值为一,之后每出现一次相同的字符,就把这个属性的值加一
let str = 'swqfiushiguihwqygcasoihyewfytrdsvfrtwcqtrzxvffdwyatsfewqjoasgyazw'
let k = {}
for (let i = 0; i < str.length; i++) {
let chars = str.charAt(i)
if (k[chars]) {
k[chars]++
}else{
k[chars] = 1
}
}
console.log(k)
现在已经将每个字符串出现的次数放到对象中了,之后遍历对象,比较大小就可以了
let max = 0
let letter = ''
for(let i in k){
if(k[i] > max){
max = k[i]
letter = i
}
}
console.log(`str中出现最大的字母是:${letter},出现了${max}次`)