function getStrMaxCount(str) {
let strArr = Array.from(new Set(str.split('').filter(item => item))).map(item => {
return {
strName: item,
count: 0
}
})
for(let i = 0; i< str.length; i++) {
let target = strArr.find(item => item.strName === str[i])
target && target.count ++
}
let maxCount = 0
strArr.forEach(item => {
if(item.count > maxCount){
maxCount = item.count
}
})
// 还要看是否有一样数量的字符
let result = strArr.filter(item => item.count === maxCount)
return result
}
思路:先利用去重找到需要进行对比的数据,并且默认给每个数据添加一个对象(字符串名称和默认数量),其次遍历原字符串和去重后的对比
改进:有可能一个字符串里面最多数量的字符不止一个(最多的数量相同的情况,需要改进代码)
如果还有设么没考虑到的,欢迎评论区留言哦!