let str = 'abcoadadooadbdsfsdfwewerewrwrqeqgfdgfdgcvgbhooo'
let obj = {}
for (let i = 0i <str.lengthi++) {
//根据字符的名称查找对象中有没有对应的属性
if (obj[str[i]]) {
// 有就+1
obj[str[i]]++
} else {
// 没有就等于1
obj[str[i]] = 1
}
}
console.log(obj)
返回如下结果:
2.再遍历字符串 比较大小得出谁出现的次数最多,这里有两种方式
2.1 利用for in 循环
// let max = 0
// let val = ''
// for (var k in obj) {
// // k得到的是属性名 ,obj[k]得到是属性值
// if (obj[k] >max) {
// max = obj[k]
// val = k
// }
// }
// console.log('最多的字符是' + val)
2.2 利用forEach遍历数组
let max = {
name: '',
count: 0
}
Object.keys(obj).forEach(k =>{
//判断是否有别的字符串大于max
if (obj[k] >max.count) {
max.name = k
max.count = obj[k]
}
})
console.log(max)
你是求数组中某个元素出现的次数么?我写的只是某个元素出现次数。function times(arr){
var m=0,times=0//m是数组中的元素,times用来统计出现的次数
// for循环遍历arr数组
for(var i=0i<arr.lengthi++){
if(arr[i]==m){
times++//数组中有相同值就加1
}
}
return times
console.log(times)//这是打印出的出现的次数
}
times([0, 1, 2, 0, 1, 2])