--- id: afd15382cdfb22c9efe8b7de title: DNA Pairing isRequired: true challengeType: 5 forumTopicId: 16009 localeTitle: Связывание ДНК --- ## Description
В цепочке ДНК отсутствует элемент сопряжения. Возьмите каждого символа, получите его пару и верните результаты в виде массива 2d. Базовые пары - это пара AT и CG. Совместите отсутствующий элемент с предоставленным символом. Возвращаем предоставленный символ как первый элемент в каждом массиве. Например, для входного GCG возвратите [[«G», «C»], [«C», «G»], [«G», «C»]] Символ и его пара спарены в массив, и все массивы сгруппированы в один инкапсулирующий массив. Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.
## Instructions
## Tests
```yml tests: - text: pairElement("ATCGA") should return [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]. testString: assert.deepEqual(pairElement("ATCGA"),[["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]); - text: pairElement("TTGAG") should return [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]. testString: assert.deepEqual(pairElement("TTGAG"),[["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]); - text: pairElement("CTCTA") should return [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]. testString: assert.deepEqual(pairElement("CTCTA"),[["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]); ```
## Challenge Seed
```js function pairElement(str) { return str; } pairElement("GCG"); ```
## Solution
```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]];}); } ```