1. 程式人生 > >檢視字串中出現次數最多的字元以及出現的次數

檢視字串中出現次數最多的字元以及出現的次數

  這裡先補充一下物件的知識點:

  例如  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次
     }
   }