Check if a number is odd or even in JavaScript
Last updated: September 27, 2022.
There is no in-built function or method to check if a number is odd or even in JavaScript. We therefore have to create a function ourselves to perform this check.
This can be done with the help of the remainder operator (%
).
Since an even number always has a remainder of zero, if applying the remainder operator to a number returns this outcome, the number must be even. Conversely, if a remainder exists, the number must be odd.
Below is a function that perform this check, including a pre-check for whether the number passed into it when it is called is an integer. The function is then called three times:
function oddOrEven(x) { // First, check if number is integer. If not, // keyword return stops function processing // and a console error is created if (!Number.isInteger(x)) { return console.error("Not an integer!") } // Checks the remainder of the number passed // into the function if divided by 2. If it // is 0, the if statement is executed, if it // is not, the else statement runs. if (x % 2 === 0) { console.log("The number is even"); } else { console.log("The number is odd"); } } oddOrEven(2) // The number is even oddOrEven(3) // The number is odd oddOrEven(0.2) // Not an integer
Alternative solution using the ternary operator
The odd or even number check function can also be written using the ternary operator. The syntax is as follows: statement : returnIfTrue : returnIfFalse
.
Note that because a ternary statement requires a returnIfFalse
expression, it is only applied to the check of whether a number is even or odd:
function oddOrEven(x) { if (!Number.isInteger(x)) { return console.error("Not an integer") } x % 2 === 0 ? console.log("The number is even") : console.log("The number is odd") } oddOrEven(2) // The number is even oddOrEven(3) // The number is odd oddOrEven(0.2) // Not an integer