1. 程式人生 > >統計字串中字元數量

統計字串中字元數量

1.統計字串中字元數量

比如  ‘asdssddaag’

a:3    d:3     s:3    g:1

function countLt (str) {
       var json = {};
       for(var i = 0; i < str.length ; i++){
              if( !json[str[i]] ){
                    json[str[i]] = 1;
              }
              else{
                    json[str[i]] += 1; 
              }            
}
       return json;
}

思路:建立一個物件,遍歷字串,判斷是否存在,如果不存在,動態新增該字元為屬性,同時設定該屬性的值為1,如果存在,說明之前被建立過並賦值,此時將該值+1

 

2.找到字串中第一個重複的字元

比如 ‘asdfgafs’

第一個重複出現的字元為:   a
 

思路是  判斷物件中屬性是否存在,存在就把該str[i] 賦值 target, 跳出迴圈,return target ,這裡用了三元運算子

function countLt (str) {
       var json = {},targetStr;
       for(var i = 0; i < str.length ; i++){
               !json[str[i]] ? json[str[i]] = 1 : targetStr = str[i];      
}
       return targetStr;
}

3.找出字串中重複次數最多的字元

思路是   設定一個 maxNum = 1, maxNum。

function countLt (str) {
       var json = {};
       var maxNum = 1,maxStr ='';
       for(var i = 0; i < str.length ; i++){
              if( !json[str[i]] ){
                    json[str[i]] = 1;
              }
              else{
                    json[str[i]] += 1; 
              }
              if(json[str[i]] > maxNum){
                    maxNum = json[str[i]];
                    maxStr = str[i];
              }            
}
       var log = 'maxNum: ' + maxNum + '  maxStr: ' + maxStr;
       return log;
}