我是一個相對年輕的開發者,我對一些事情感到困惑。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」]]
我有所有的對,但新的數組給我結果I寫了對數組,爲什麼呢?
你能描述你的函數的預期行爲? – Aaron
如果與pairElement(「AT」)的呼叫我得到對AT,TA但如果與pairElement(「TA」);我得到了相同的結果.. –
好吧,我想我明白了。如果我沒有弄錯,你的結果順序是基於你的'pairs'數組的順序,因爲你的外部'for'循環遍歷數組,而不是輸入字符串。我想你可以簡單地反轉你的兩個for循環,並得到你的預期結果。 – Aaron