运动:rna转录.正在努力解决问题

Exercism: rna-transcription. Struggling with solution

本文关键字:努力 解决问题 转录 rna 运动      更新时间:2023-09-26

试图完成这个Exercism javascript测试,但没有像我预期的那样工作。

我对切换语句还很陌生,所以这里可能会出错,也许不需要使用数组。无论哪种方式,我的最终rnaString.join()值都返回一个空字符串。

此外,如果有更简洁的方法,我将不胜感激。

测试

describe('toRna()', function() {
  it('transcribes all dna nucleotides to their rna complements', function() {
    expect(dnaTranscriber.toRna('ACGTGGTCTTAA'))
        .toEqual('UGCACCAGAAUU');
  });
});

我的答案

DnaTranscriber.prototype.toRna = function(dna) {
for (var i=0; i < dna.length; i++) {
      var rnaString = [];
      switch(dna) {
         case 'G':
            rnaString.push('C');
            break;
         case 'C':
            rnaString.push('G');
            break;
         case 'T':
            rnaString.push('A');
            break;
         case 'A':
            rnaString.push('U');
      }// end switch()
   }// end for loop()
   return rnaString.join()
}

感谢您的帮助。

如果我理解正确,你的函数应该是:

DnaTranscriber.prototype.toRna = function(dna) {
    var rnaString = [];
        for (var i=0; i < dna.length; i++) {
        switch(dna[i]) {//check character instead all string
            case 'G':
                rnaString.push('C');
                continue;
            case 'C':
                rnaString.push('G');
                continue;
            case 'T':
                rnaString.push('A');
                continue;
            case 'A':
                rnaString.push('U');
        }// end switch()
    }// end for loop()
    return rnaString.join('');
}