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>
注释还是相当清晰的 纯手打,有错请提出。致敬默默同学!