Что такое JS-эквивалент метода Ruby: tr? - PullRequest
0 голосов
/ 02 ноября 2019

В ruby ​​я мог бы сделать это:

def DNA_strand(dna)
  base_hash = { 'A' => 'T', 'T' => 'A', 'G' => 'C', 'C' => 'G' }
  dna.gsub(/[ATGC]/, base_hash)
end

Я также мог бы сделать это, что было бы точно эквивалентно:

def DNA_strand(dna)
  Dna.tr(’ACTG’, ’TGAC’)
Env

В JS есть какой-нибудь эквивалентный метод для: tr вruby?

В настоящее время я могу думать только о решении этой проблемы в JS следующим образом:

function DNAStrand(dna){
  function matchBase(match, offset, string) {
    const base = { 'A': 'T', 'T': 'A', 'G': 'C', 'C': 'G' };
    return `${base[match]}`;
  }
  return dna.replace(/[ATGC]/g, matchBase);
}

Любые комментарии будут оценены!

1 Ответ

1 голос
/ 04 ноября 2019

Да, попробуйте в консоли браузера

>> "FOOACTGBARACTG".replace(/ACTG/g, 'TGAC')

и вы получите

<- "FOOTGACBARTGAC"
...