首页 > 解决方案 > 如何获取查找表以返回字符串而不是 [object Object]

问题描述

我正在尝试将 dna 序列转换为 rna。当序列被传递给我的方法时,我使用正则表达式来获取每个单独的字母,然后使用查找表来转换每个字母。

我正在尝试返回一个字符串值,但返回的值是[object Object]. 我知道返回值是 type object,我想知道有没有办法阻止它或将它转换回 type string

const traslateDna = {
  'G':'C',
  'C':'G',
  'T':'A',
  'A':'U'
}
export const toRna = (dna) => {
  let rna = dna.replace(/[A-Z]/g, traslateDna)  
  return rna;
};

传入的字符串:

"ACGTGTA"

预期结果:

"UGCACAU"

标签: javascript

解决方案


您可以使用扩展语法和减少来获得所需的输出。

... 将拆分字符串并创建一个数组并使用该数组的元素作为键从对象中检索值

const traslateDna = {
  'G': 'C',
  'C': 'G',
  'T': 'A',
  'A': 'U'
}

function getRNA(str) {

  return [...str].reduce((acc, curr) => {
    acc += traslateDna[curr]
    return acc;
  }, '')
}

console.log(getRNA("ACGTGTA"))


推荐阅读