如何在Javascript中附加或连接字符串?

时间:2019-04-08 19:27:58

标签: javascript string append concat

所以我试图添加到字符串中,并且显示为空。

var DNA = "TAG";
var mRNA = "";

m_RNA()

function check(a, b, string) {
  if (string = a) {
    mRNA.concat(b);
  }
}

function m_RNA(){
  //console.log(DNA)
  for (var i = 0; i < DNA.length; i++) {
    console.log("Checking: " + DNA[i]);
    check("T", "A", DNA[i]);
    check("A", "U", DNA[i]);
    check("C", "G", DNA[i]);
    check("G", "C", DNA[i]);
    console.log(mRNA);
  }
}

它应该在控制台中显示AUC,但只是空白。顺便说一下,这是通过firefox实现的。

2 个答案:

答案 0 :(得分:4)

mRNA.concat(b);不会改变字符串,它只会计算值。您需要mRNA = mRNA.concat(b)(或mRNA = mRNA + b)来更改mRNA的值。

答案 1 :(得分:0)

与其尝试对上限范围内的变量进行突变, 您可以考虑将任务包装到功能中 ...

重构它,确保m_RNA返回正确的映射:

var DNA = "TAG";

// create a map so every char maps to something.
const map = {
  T: 'A',
  A: 'U',
  C: 'G',
  G: 'C',
};

// check only needs to pick from map, or return an empty string.
function check(fragment) {
  return map[fragment] || '';
}


function m_RNA(dna) {
  // reduces all the chars to the new sequence
  return Array.from(dna).reduce(
    function (result, fragment) {
      return result.concat(check(fragment))
    },
    "",
  );
}

var mRNA = m_RNA(DNA);
console.log('mRNA', mRNA);