查看字符串中出现次数最多的字符以及出现的次数

  这里先补充一下对象的知识点:

  例如  var  json = {

      a:1,

      b:2,

      c:3

      }

    console.log(json)     //    {a:1,b:2,c:3}

    console.log(json["a"])     //   1

  //    有了上面的列子,开始实现题目的要求

  var str = "suibianxiebala";

  var json = {};

  for(var i = 0; i<str.length; i++){

    if(!json[str.charAt(i)]){          //     如果json里面没有这一项  就等于1

      json[str.charAt(i)] = 1;

    }else{          //     否则就累计加

      json[str.charAt(i)]++;

    }

  }

  var iMax = 0;       //   定义一个出现次数的变量,初始化为0次

  var iStr = "";        //    定义一个变量表示出现次数最多的字符串,初始化为空

  for(var i in json){

    if(json[i] > iMax){

      iMax = json[i];

      iStr = i;

    }

  }

  

console.log("出现次数最多的字符是:"+iStr+",出现的次数是:"+iMax+"次")     //   这样输出的是 i   3次  
但是实际上a也是3次, 所以这种写法是有bug的 应该写成下面这样就不会出现这种情况

   var iMax = 0;
   var iStr = "";
   for(var i in json){
     if(json[i]>iMax){
       iMax = json[i];
     }
     if(iMax == json[i]){
       iStr = i;
       console.log("出现次数最多的字符是:"+iStr+",出现的次数是:"+iMax+"次") // 这样输出出来的就是 1 3次; a 3次
     }
   }

  

  

猜你喜欢

转载自www.cnblogs.com/ly-qingqiu/p/10239505.html