Показать сообщение отдельно
  #9 (permalink)  
Старый 18.03.2019, 18:42
Интересующийся
Отправить личное сообщение для Allegro75 Посмотреть профиль Найти все сообщения от Allegro75
 
Регистрация: 13.03.2019
Сообщений: 15

Между тем начинаю новый день учёбы с решения ещё одной задачки.

Условие:
Преобразование DNA в RNA
"ДНК и РНК это последовательности нуклеотидов.
Четыре нуклеотида в ДНК это аденин (A), цитозин (C), гуанин (G) и тимин (T).
Четыре нуклеотида в РНК это аденин (A), цитозин (C), гуанин (G) и урацил (U).
Цепь РНК составляется на основе цепи ДНК последовательной заменой каждого нуклеотида:
G -> C
C -> G
T -> A
A -> U
Реализуйте и экспортируйте функцию по умолчанию, которая принимает на вход цепь ДНК и возвращает соответствующую цепь РНК (совершает транскрипцию РНК).

Если во входном параметре нет ни одного нуклеотида (т.е. передана пустая строка), то функция должна вернуть пустую строку.

Если в переданной цепи ДНК встретится "незнакомый" нуклеотид (не являющийся одним из четырех перечисленных выше), то функция должна вернуть null.

dnaToRna('ACGTGGTCTTAA'); // 'UGCACCAGAAUU'
dnaToRna('CCGTA'); // 'GGCAU'
dnaToRna(''); // ''
dnaToRna('ACNTG'); // null

Подсказки
Длина строки str находится так: str.length

"

Решение:
const dnaToRna = (dna) => {
  let index = 0;
  let result = '';
  for (; index < dna.length; index +=1) {
    if (dna[index] === 'G') {
      result += 'C';
    }
    else if (dna[index] === 'C'){
      result += 'G';
    }
    else if (dna[index] === 'T'){
      result += 'A';
    }
    else if (dna[index] === 'A'){
      result += 'U';
    }
    else return null;
  } return result;
}
Ответить с цитированием