DNA配对,阵列

时间:2016-11-09 16:08:22

标签: javascript arrays

我是一个相对年轻的开发人员,我对一些事情感到困惑。

这是我的代码:

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”]]

我有所有对,但是新数组按照我编写对数组的顺序给出了结果,为什么会这样?

1 个答案:

答案 0 :(得分:0)

只是一个建议,对于使用对的较短的阵列访问。您可以使用对象并将该字母用作键。

function pairElement(str) {
    var pairs = {
        A: ["A","T"],
        T: ["T","A"],
        C: ["C","G"],
        G: ["G","C"]
    };

    return str.split("").map(function (a) { 
        return pairs[a];
    });
}

console.log(pairElement("ATCGA"));