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

js如何找出一个字符串中出现次数最多的字符,并且统计这个次数?比如。letstr="hajjfhlhhff"
结果要打印:h出现次数最多,出现3次
人到中年有点甜
浏览 378回答 2
2回答

小唯快跑啊

构造一个object,键为字符,值为出现次数遍历字符串,判断字符是否在object中‘如果不在则写入’值为1,如果在则值+1按照值排序‘去除第一个值的键即可

明月笑刀无情

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)||1returnprev},{})}consttools=newTools()console.log(tools.getMaxItems(tools.getOBJList(arr)))代码还有很多可改进的区间,不过这个样子逻辑应该很清楚了PS:如果字符串中最大个数是一样的,都会返回
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript