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





