为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点哈!js如何找出一个字符串中出现次数最多的字符各位有什么建议?

求大佬指点哈!js如何找出一个字符串中出现次数最多的字符各位有什么建议?

人到中年有点甜 2019-08-10 00:10:52
js如何找出一个字符串中出现次数最多的字符,并且统计这个次数?比如。letstr="hajjfhlhhff"结果要打印:h出现次数最多,出现3次
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

构造一个object,键为字符,值为出现次数遍历字符串,判断字符是否在object中‘如果不在则写入’值为1,如果在则值+1按照值排序‘去除第一个值的键即可
                            
查看完整回答
反对 回复 2019-08-10
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

conststr='hajjfhlhhff'
constarr=str.split('')
functionTools(){}
Tools.prototype.getMaxItems=function(obj){
constreturnItems=[]
constmaxValue=Math.max(...Object.keys(obj).map(key=>obj[key]))
Object.keys(obj).map(key=>{
if(obj[key]===maxValue){
returnItems.push({[key]:obj[key]})
}
})
returnreturnItems
}
Tools.prototype.getOBJList=function(arr){
returnarr.reduce(function(prev,next){
prev[next]=(prev[next]+1)||1
returnprev
},{})
}
consttools=newTools()
console.log(tools.getMaxItems(tools.getOBJList(arr)))
代码还有很多可改进的区间,不过这个样子逻辑应该很清楚了PS:如果字符串中最大个数是一样的,都会返回
                            
查看完整回答
反对 回复 2019-08-10
  • 2 回答
  • 0 关注
  • 376 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号