1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 判断字符串出现次数最多的字符 及 次数

判断字符串出现次数最多的字符 及 次数

时间:2022-11-06 15:38:53

相关推荐

判断字符串出现次数最多的字符 及 次数

分析

题目的意思大致就是找出每个字符出现的次数,然后比较大小。那么每个字符都应该对应它出现的次数。既然是一一对应的,那我们就想到用对象的keyvalue来储存字符和其出现的次数。

具体做法

新建一个空对象obj遍历给定的字符串接下来就是最重要的 把字符作为key值,对应次数作为value添加给obj判断obj是否存在当前循环的字符,有则让value即次数++,否则把当前项作为key添加给obj然后是比较次数的大小。这时我们需要一个变量来储存objvalue值。声明一个变量num,并设置初始值为0。遍历obj,比较其value值与num值的大小。大则将其value值赋给num,否则num值不变,从而找出最大的value值。这时我们需要一个数组来储存与最大的value值即num匹配的key值。因为这样的key值可能不止一个,所以用一个数组来储存。新建一个空数组keys。遍历obj,判断与num匹配的key值,并添加在keys内。因为keys是个数组,需要用join转换成字符串。最后就可以返回出现次数最多的字符及次数了。

let str = "";function word(str){let obj = {};let num = 0;let keys = [];for(var i=0;i<str.length;i++){let strs = str[i]if(!obj[strs]){obj[strs] = 1;}else{obj[strs]++}}for(var i in obj){if(num<obj[i]){num = obj[i]}}for(var i in obj){if(obj[i]==num){keys.push(i)}}return "出现次数最多的字符为"+keys.join('和')+",出现次数为"+num+"次。"}console.log(word(str))

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。