everycode icon indicating copy to clipboard operation
everycode copied to clipboard

统计字符串内字符出现的个数

Open cuining opened this issue 10 years ago • 4 comments

var genCode = 'TCCAGAAAGGTAAGCCTCGCGTTGCG' //只限4个字母。可考虑实现多个字母的情况 var result = getCountedNucleotides(getCode); console.log(result) // {"A":0, "C":0, "G":0, "T":0}

cuining avatar Apr 08 '15 02:04 cuining

表示没看懂需求

singone avatar Apr 13 '15 02:04 singone

function getCountedNucleotides(str) {
    return str.split("").reduce(function(ans, ch) {
        return ans[ch] = (ans[ch] !== undefined ? ans[ch] + 1 : 0), ans;
    }, {});
}

XadillaX avatar Apr 13 '15 03:04 XadillaX

function getCountedNucleotides(str){
        var result = {};
        for(var i = 0; i<str.length; i++){
            if(str[i] in result){
                result[str[i]] = result[str[i]] + 1;
            }else{
                result[str[i]] = 0;
            }
        }
        return result;
    }

IrisZhang avatar Apr 23 '15 03:04 IrisZhang

 function getCountedNucleotides (str){
      var reg = /(\w)?\1*/g,
          match = str.match(reg),
          ret = {},
          i=match.length;
      for(;i--;){
        var mi = match[i],
            fc = mi[0];
        ret[fc] = (!!ret[fc])?(+ret[fc])+mi.length:mi.length
      }
      return ret;
    }

Sanford2020 avatar Jul 06 '15 09:07 Sanford2020