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 }