Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

244
Visualizações
3 conditions - ternary conditional chains JavaScript react

So I'm just playing around with the rick and Morty API and I've never done a ternary with 3 conditions. Mozilla docs say you can, but it's not working for me. The code below shows the characters with the status alive in green and the rest are purple. I want alive to be green, dead to be red, unknown to be purple. I'm using chakra UI if anyone's curious. What am I doing wrong?

<Badge
  colorScheme={ c.status === "Alive" ? "green"
      : "unknown" ? "purple"
      : "red"
  }
>
  {c.status}
</Badge>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You have your symbols mixed up. Grouping with parentheses, your code is equivalent to

c.status === "Alive" ? "green"
      : ("unknown" ? "purple" : "red")

You need instead

c.status === 'Alive'
  ? 'green'
  : c.status === 'unknown' ? 'purple' : 'red'

Or you could use a lookup table instead - it'd be more readable.

const colorsByStatus = {
  Alive: 'green',
  unknown: 'purple',
  dead: 'red'
};

// ...

colorSceme={colorsByStatus[c.status]}
about 4 years ago · Juan Pablo Isaza Relatório

0

In the second condition, you are using "unknown" which is always true hence the output will always be "purple". Do the following.

let a = { status: "Alive" };
let b = { status: "dead" };
let c = { status: "unknown" };

console.log(
  a.status === "Alive" ? "green" : a.status === "unknown" ? "purple" : "red"
);

console.log(
  b.status === "Alive" ? "green" : b.status === "unknown" ? "purple" : "red"
);

console.log(
  c.status === "Alive" ? "green" : c.status === "unknown" ? "purple" : "red"
);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda