Is it possible to have multiple operations within a ternary operator's if/else?
I've come up with an example below, probably not the best example but I hope you get what I mean.
var totalCount = 0;
var oddCount = 0;
var evenCount = 0;
for(var i = 0; i < arr.length; i++) {
if(arr[i] % 2 === 0) {
evenCount ++;
totalCount ++;
} else {
oddCount ++;
totalCount ++;
}
}
into something like:
var totalCount = 0;
var oddCount = 0;
var evenCount = 0;
for(var i = 0; i < arr.length; i++) {
arr[i] % 2 === 0? evenCount ++ totalCount ++ : oddCount ++ totalCount ++;
}
}
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.
But yeah, don't use the conditional operator for side effects.
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