问题:"a32aaabbbbbbbaddddddeeeeee"求这个字符串里哪个字符出现次数最多,并统计
方法一:
var str = 'a32aaabbbbbbbaddddddeeeeee'
var arr = []
var str1=0
var numb=0
for (const ele of str) {
if(!arr.includes(ele)){
// console.log(ele)
arr.push(ele)
let num = (str.split(ele)).length - 1
// console.log(num)
console.log(ele+':'+num)
if(numb<num){
str1=ele
numb=num
}
}
}
console.log(str1,numb)
方法二:
var str = 'a32aaabbbbbbbaddddddeeeeee'
var obj={}
for (const ele of str) {
if(obj[ele]){
obj[ele]=obj[ele]+1
}else{
obj[ele]=1
}
}
console.log(obj)
方法三:
var str = 'a32aaabbbbbbbaddddddeeeeee'
var i;
var tempObj = {};
for (i = 0; i < str .length; i++) {
var charAt = str .charAt(i);
//相当于挨个遍历字符串字符,将字符作为key,出现的次数作为value类似java中的map
if (tempObj[charAt]) {
tempObj[charAt]++;
} else {
tempObj[charAt] = 1;
}
}