Open1
オブジェクトのうまい使い方
ピン留めされたアイテム
DNAのペアをつくる
あるDNAが与えられて,それに対応する塩基対をJavaScriptを使って求めたいと,夜中にふと思うこともあるかと思います.
input
["TGG"]
output
[["T", "A"], ["G","C"], ["G", "C"]]
こんな感じで.
私の考えたコード(全然綺麗じゃない)
ということで,コードを書いてみました.
dna_pairing.js
function pairElement(str) {
return str
.split("")
.map(s=>{
if(s==="A"){
return [s].concat("T")
} else if(s==="T"){
return [s].concat("A")
} else if(s==="G"){
return [s].concat("C")
} else {
return [s].concat("G")
}
})
}
pairElement("TGG");
出力は正しいけど,なんだかなーという感じでもやもやしてました.
そこで,FreeCodeCampのHintを見てみました.
そしたら,こんな回答が...
どこかの誰かの回答
dna_pairing.js
function pairElement(dna) {
const pairs = {
A: "T",
T: "A",
G: "C",
C: "G",
}
return dna.split("").map(x=>[x,pairs[x]])
}
pairElement("TGG");
オブジェクトのキーと値をうまく使って,mapで綺麗に処理してる.
参考