Can a JavaScript ternary operator support 3 conditions?

Viewed 16956

Given the following JavaScript ternary operator, is it possible to enable this to support 3 conditions versus the current two?

const color = d.y >= 70 ? "green" : "red";

I would essentially like the following logic:

>= 70, color = green;
between 69-50, color = yellow;
< 50, color = red;

Is this possible with a 1 line ternary or do I need a IF statement?

3 Answers

you can do

const color = d.y >= 70 ? "green" : (d.y < 50 ? "red" : "yellow");

you can stack it like this:

condition1 
  ? result1 
  : condition2 ? result3 : result4

Just have a second ternary operator:

const color = d.y >= 70 ? "green" : d.y >= 50 ? "yellow" : "red";
Related