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

  

 1 <script type="text/javascript">
 2         var str = 'qwertyuilo.,mnbvcsarrrrrrrrtyuiop;l,mhgfdqrtyuio;.cvxsrtyiuo';
 3         var json = {};
 4         //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv
 5         for (var i = 0; i < str.length; i++) {
 6             //判断json中是否有当前str的值 
 7             if (!json[str.charAt(i)]) {
 8                 //如果不存在  就将当前值添加到json中去
 9                 json[str.charAt(i)] = 1;
10             } else {
11                 //else的话就让数组中已有的当前值的index值++;
12                 json[str.charAt(i)]++;
13             }
14         }
15             //存储出现次数最多的值和次数
16             var number = '';
17             var num=0;
18             //遍历json   使用打擂算法统计需要的值
19             for (var i in json) {
20                 //如果当前项大于下一项
21                 if (json[i]>num) {
22                     //就让当前值更改为出现最多次数的值
23                     num = json[i];
24                     number = i;
25                 }
26             }
27             //最终打印出现最多的值以及出现的次数
28             alert('出现最多的值是'+number+'出现次数为'+num);
29         
30     </script>

注释还是相当清晰的  纯手打,有错请提出。致敬默默同学!