js获取字符串出现最多的字符和次数

实现逻辑:先将字符串遍历,保存到json对象,每个字符串作为key,值默认为1次,如果字符串出现多次,每出现一次将key值加1;声明一个中间变量,遍历json对象,将最大值保存到中间变量,同时保存最大值相关数据。

 1 <script>
 2     /**
 3      * @param {String}str 只接受字符串类型
 4      * @return{JSON} key:出现最多字符, value:出现次数;  数组类型不是String类型,则返回空对象
 5      * */
 6     function statisticsString(str) {
 7         //返回为json对象
 8         let returnObj={};
 9         //判断是否是字符串
10         if(Object.prototype.toString.call(str)!="[object String]"){
11             return returnObj;
12         }
13         //循环字符串,将同字符相加
14         let jsonStr = {};
15         for (let i = 0; i < str.length; i++) {
16             if (jsonStr[str[i]] == undefined) {
17                 jsonStr[str[i]] = 0;
18             }
19             jsonStr[str[i]]++;
20         }
21 
22 
23         //最大值
24         let num=0;
25         //每次循环比较,循环值大于num时,将循环值赋给num
26         for(let item in jsonStr){
27             if(num<jsonStr[item]){
28                 num=jsonStr[item];
29                 returnObj={"key":item,"value":jsonStr[item]};
30             }
31         }
32         return returnObj;
33     }
34     let obj1=statisticsString(3543);
35     let obj2=statisticsString("3546456");
36 
37     console.log((obj1.key==undefined)+":结果:"+JSON.stringify(obj1));
38     console.log((obj2.key==undefined)+":结果:"+JSON.stringify(obj2));
39 </script>

推荐一个免费Api网站:https://www.lqmohun.com

 

转载于:https://www.cnblogs.com/Mohun-Blogs/p/10116818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值