--- id: afd15382cdfb22c9efe8b7de title: Emparejamiento de ADN challengeType: 1 forumTopicId: 16009 dashedName: dna-pairing --- # --description-- El par de hebras del ADN esta formado por pares de nucleobases. Los pares de base son representados por los caracteres AT y CG, que forman bloques de doble hélix ADN. A la cadena de ADN le falta el elemento de emparejamiento. Escribe una función que coincida con los pares de base faltantes para la hebra de ADN proporcionada. Para cada carácter de la cadena proporcionada, encuentra el carácter de par base. Devuelve los resultados como un arreglo 2d. Por ejemplo, la entrada `GCG`, devuelve `[["G", "C"], ["C","G"], ["G", "C"]]` El carácter y su par se emparejan en un arreglo, y todos los arreglos se agrupan en un arreglo encapsulado. # --hints-- `pairElement("ATCGA")` debe devolver `[["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]`. ```js assert.deepEqual(pairElement('ATCGA'), [ ['A', 'T'], ['T', 'A'], ['C', 'G'], ['G', 'C'], ['A', 'T'] ]); ``` `pairElement("TTGAG")` debe devolver `[["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]`. ```js assert.deepEqual(pairElement('TTGAG'), [ ['T', 'A'], ['T', 'A'], ['G', 'C'], ['A', 'T'], ['G', 'C'] ]); ``` `pairElement("CTCTA")` debe devolver `[["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]`. ```js assert.deepEqual(pairElement('CTCTA'), [ ['C', 'G'], ['T', 'A'], ['C', 'G'], ['T', 'A'], ['A', 'T'] ]); ``` # --seed-- ## --seed-contents-- ```js function pairElement(str) { return str; } pairElement("GCG"); ``` # --solutions-- ```js var lookup = Object.create(null); lookup.A = 'T'; lookup.T = 'A'; lookup.C = 'G'; lookup.G = 'C'; function pairElement(str) { return str.split('').map(function(p) {return [p, lookup[p]];}); } ```