1.统计一个字符串中某个字符出现的次数
1.1 直接迭代
let str ='abcaadcs'
let sub ='a'
var arr = str.split('')//字符串转数组
// console.log(arr);
var num=0
for(var i=0;i<arr.length;i++){
if (arr[i]==sub) {
num++
}
}
console.log(num);
1.2 indexOf方法
let str ='abcaadcs'
let sub ='a'
function Anum(str,s){ //s 为字符串出现的次数
let n=0
let index=str.indexOf(s)
while (index!=-1) {//不存在 数量累加
index=str.indexOf(s,index+1)
n++
}
return n
}
let sum = Anum(str,sub)
console.log(sum);
1.3. split方法
let str ='abcaadcs'
let sub ='a'
let arr = str.split('a')//字符串转数组
arr.join(',')//数组转字符串
console.log(arr.length-1);
2.统计一个字符串中,出现次数最多的字符,出现几次
var str = 'aabcdessakaaa'
var arr = str.split('')//转化为数组
let obj={}
arr.forEach(item=>{
if (obj[item]) {//在数组中存在就累加 ,否则就致为1
obj[item]++
} else {
obj[item]=1
}
})
var num=0 //次数
var s=null //出现的字符
console.log(obj);
for(var key in obj){ //循环对象中的属性名 ['a','b','c','d','e','s','k']
console.log(key);
if(obj[key]>num){//判断属性名出现的次数 比num大 赋值给num
num=obj[key]
s=key//key就是字符
}
}
console.log(`出现次数最多的字符是${s}? 出现了${num}次`);