统计字符串中字符数量

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;
}

猜你喜欢

转载自blog.csdn.net/holiday19950913/article/details/85255171