Base pair

腺嘌呤(A)、胸腺嘧啶(T)、鸟嘌呤(G)、胞嘧啶(C)、尿嘧啶(U)

function pairElement(str) {
  //A、T 相互成对、补全
  //C、G 相互成对、补全
  let arr= []
  str.split("").forEach(char=> {
      let pairChar
      switch(char) {
        case "A":
          pairChar= "T"
          break
        case "T":
          pairChar= "A"
          break
        case "C":
          pairChar= "G"
          break
        case "G":
          pairChar= "C"
          break
      }
      arr.push([char, pairChar])
  })
  return arr;
}

pairElement("GCG");

测试数据:

pairElement("ATCGA") should return [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]].

pairElement("TTGAG") should return [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]].

pairElement("CTCTA") should return [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]].

//别人家的孩子
function pairElement(str) {
  //create object for pair lookup
  var pairs = {//匹配规则做成对象键值对
    A: "T",
    T: "A",
    C: "G",
    G: "C"
  };
  //split string into array of characters
  var arr = str.split("");
  //map character to array of character and matching pair
  return arr.map(x => [x, pairs[x]]);//map 生成二维数组
}

//test here
pairElement("GCG");