私は比較的若い開発者であり、私はいくつかのことについて混乱しています。ここで DNAペアリング、アレイ
は私のコードです:function pairElement(str) {
var arr = [];
var pairs = [
["A","T"],
["T","A"],
["C","G"],
["G","C"]
];
var spl = str.split("");
for(var i = 0; i<pairs.length; i++){
for(var j= 0; j<spl.length; j++){
if(pairs[i][0] == spl[j]){
arr.push(pairs[i]);
}
}
}
return arr;
}
pairElement("ATCGA");
問題は、関数は、この配列を私に戻って与えることである:[[ "A"、 "T"]、[ "A"、 "T"]、[ "T"、 "A"]、["C"、 "G"]、["G"、 "C"]
私はすべてのペアを持っていますが、新しい配列は私に結果を私に与えています対の配列を書いた、なぜそれは?
あなたはあなたの関数の期待される動作を説明してもらえますか? – Aaron
pairElement( "AT")を使って呼び出すと、AT、TAのペアが得られますが、pairElement( "TA")を使用して呼び出す場合は、私は同じ結果を得る.. –
さて、私はそれを得ると思います。私が間違っていない場合、結果の順序は 'pair'配列の順番に基づいています。外側' for'ループは入力文字列ではなく、その配列を反復するからです。私はあなたの2つのループを単純に逆にして、期待される結果を得ることができると思います。 – Aaron