I need a bit of syntax help with a ternary operator which will help me to put the correct marker icons on to my good map. I have three areas 0, 1 and 2 which have unique icons 0, 1 and 2.
I used to have just two areas so this ternary operator worked fine;
var icon = (area == 1) ? icon1 : icon0;
Now I need to add an additional third icon (icon2) for area2.
I've tried various methods but just can't seem to get it right.
If condition2 is correct, then the output is Expression1. If it is incorrect, then the output is Expression2. In the above syntax, we can see how we can use more than one ternary operator in a single statement. Below is an example explaining how we can use 2 ternary operators in a single statement.
You can use the comma operator to execute multiple expressions in place of a single expression: arr[i] % 2 === 0? (evenCount++, totalCount++) : (oddCount++, totalCount++); The result of the comma operator is the result of the last expression.
The conditional (ternary) operator is the only JavaScript operator that takes three operands: a condition followed by a question mark ( ? ), then an expression to execute if the condition is truthy followed by a colon ( : ), and finally the expression to execute if the condition is falsy.
The syntax would be:
var icon = (area == 1) ? icon1 : (area == 2) ? icon2 : icon0;
But this is starting to get complicated. You may well be better off just creating a function to do this work instead:
var icon = getIcon(area); function getIcon(area) { if (area == 1) { return icon1; } else if (area == 2) { return icon2; } return icon0; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With