网站建设案例分享,门户建设开源软件,wordpress 添加备案,工程建设交易服务网分析 题目的意思大致就是找出每个字符出现的次数#xff0c;然后比较大小。那么每个字符都应该对应它出现的次数。既然是一一对应的#xff0c;那我们就想到用对象的key和value来储存字符和其出现的次数。具体做法 新建一个空对象obj 遍历给定的字符串接下来就是最重要的 把字… 分析 题目的意思大致就是找出每个字符出现的次数然后比较大小。那么每个字符都应该对应它出现的次数。既然是一一对应的那我们就想到用对象的key和value来储存字符和其出现的次数。 具体做法 新建一个空对象obj 遍历给定的字符串接下来就是最重要的 把字符作为key值对应次数作为value添加给obj。判断obj是否存在当前循环的字符有则让value即次数否则把当前项作为key添加给obj。然后是比较次数的大小。这时我们需要一个变量来储存obj的value值。声明一个变量num并设置初始值为0。遍历obj比较其value值与num值的大小。大则将其value值赋给num否则num值不变从而找出最大的value值。这时我们需要一个数组来储存与最大的value值即num匹配的key值。因为这样的key值可能不止一个所以用一个数组来储存。新建一个空数组keys。遍历obj判断与num匹配的key值并添加在keys内。因为keys是个数组需要用join转换成字符串。最后就可以返回出现次数最多的字符及次数了。let str http://www.sxqyuming.com;
function word(str){let obj {};let num 0;let keys [];for(var i0;istr.length;i){let strs str[i]if(!obj[strs]){obj[strs] 1;}else{obj[strs]}}for(var i in obj){if(numobj[i]){num obj[i]}}for(var i in obj){if(obj[i]num){keys.push(i)}}return 出现次数最多的字符为keys.join(和)出现次数为num次。
}
console.log(word(str))