How to check whether a number is positive/zero/negative without using conditional statements in JavaScript

1 Answer

0 votes
let n = 89;

// create text labels for each possible case
const result = [
    "negative",  // index 0
    "zero",      // index 1
    "positive"   // index 2
];

// compute an index without using any conditional statements
// (n > 0) becomes 1 if true, 0 if false
// (n < 0) becomes 1 if true, 0 if false
// index = 1 + (n > 0) - (n < 0)
let index = 1 + (n > 0) - (n < 0);

// print the classification
console.log(result[index]);

/*
  Checks:

  n = -3
  (n > 0) = 0
  (n < 0) = 1
  index = 1 + 0 - 1 = 0
  result = negative

  n = 0
  (n > 0) = 0
  (n < 0) = 0
  index = 1 + 0 - 0 = 1
  result = zero

  n = 89
  (n > 0) = 1
  (n < 0) = 0
  index = 1 + 1 - 0 = 2
  result = positive
*/



/*
run:

positive

*/

 



answered Jun 27 by avibootz

Related questions

...