Home > katas > Even or Odd (8kyu) [JavaScript]
Even or Odd (8kyu) [JavaScript]
This is a very popular kata. Let's solve it!
Chek kata on Codewars
Description:
Create a function (or write a script in Shell) that takes an integer as an argument and returns "Even" for even numbers or "Odd" for odd numbers.
Let's use Remainder (%)
operator. It returns the remainder left over when one operand is divided by a second operand. It always takes the sign of the dividend.
4 % 2 // 0
3 % 2 // 1
If the number is even it returns 0 and if the number is odd it returns 1. Which converts to false or true accordingly.
const even_or_odd = num => num % 2 ? "Odd" : "Even"
Let's check others solutions.
Some people prefer to use the bitwise AND
operator insted. Basicly solution is the same.
var even_or_odd = n => n & 1 ? 'Odd' : 'Even'
Math.abs()
is another flavor of the same idea.
function even_or_odd(number) {
return Math.abs(number) % 2 === 1 ? "Odd" : "Even";
}
Alternatively, we can create an array with 'Even' and 'Odd' values and return the first or second element.
function even_or_odd(number) {
return ["Even", "Odd"][number % 2]
}