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");