javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

 1 function test(){
 2     var bt = document.getElementById("bt");
 3     bt.addEventListener("click",function(){ 
 4 
 5         var str = "dafdsjkfnaiesdaadsllllllkkkkk444444444444444";
 6         var obj = [];    // 存放结果集的数组,结果中存放 key-value 对象
 7         for(var i =0;i<str.length;i++){    // 遍历字符串 求结果集
 8             var key = str[i];
 9             if(!obj[key]){
10                 obj[key] = 1;    // 如果结果集中还没有添加该字符 赋初值1
11             }else{
12                 obj[key]++;    // 结果集中已添加的字符 数量++
13             }
14         }
15         console.log( typeof obj);
16         for(key in obj){
17             console.log(key+obj[key]);
18             console.log(typeof key );
19             console.log(typeof obj[key]);
20         }
21         
22         var resultKey=[];    // 存储数量最多的一个或多个字符(有多个字符出现次数相同)
23         var max = -1;    // 出现的最大数量
24         for(key in obj){    // 遍历结果集
25             if(obj[key]==max){    // 多个字符
26                 resultKey.push(key);
27             }
28             
29             if(obj[key]>max){    // 一个字符
30                 resultKey = [];    // 数量最多字符数组置空
31                 resultKey.push(key);    // 添加字符
32                 max = obj[key];
33             }
34         }
35         console.log("resultKey: "+resultKey+"  "+"count:"+max);
36 
37     } );
38 }
View Code

 

posted @ 2015-04-28 20:50  iGel  阅读(642)  评论(0编辑  收藏  举报