我的三元代码不起作用 Javascript

My ternary code is not working Javascript

我转换成三元的:

arr= ["A","T","T","G","C"]
 const result = arr.reduce((acc, current)=>{
  if(current === "A"){
    acc+= "T"
  } else if(current === "T"){
    acc+= "A"
  } else if(current === "G"){
    acc+=  "C"
  } else if( current === "C"){
    acc+=  "G"
  }
  return acc
},"")

console.log(result)

这就是我将它转换成三进制的方法,但它不起作用,它给出未定义的:

const result = arr.reduce((acc, current)=>{
 current === "A"? acc+= "T"
 : current === "T"? acc+="A"
 : current === "G"? acc+="C"
 : current === "C"? acc+= "G"
                : acc
 
},"")

您没有在三元归约示例中返回结果。

你应该这样做:

const res2 = arr.reduce((acc, current)=>{
 return current === "A"? acc+= "T"
 : current === "T"? acc+="A"
 : current === "G"? acc+="C"
 : current === "C"? acc+= "G"
                : acc
 
},"")

您也可以去掉括号,然后执行以下操作:

const res2 = arr.reduce(
  (acc, current)=>
    current === "A"? acc+= "T"
     : current === "T"? acc+="A"
     : current === "G"? acc+="C"
     : current === "C"? acc+= "G"
     : acc
 ,"")