sadmicrowave
sadmicrowave

Reputation: 40892

Find if variable is divisible by 2

How do I figure out if a variable is divisible by 2? Furthermore I need do a function if it is and do a different function if it is not.

Upvotes: 165

Views: 333183

Answers (12)

Edgar256
Edgar256

Reputation: 902

Hope this helps.

let number = 7;

if(number%2 == 0){      

  //do something;
  console.log('number is Even');  

}else{

  //do otherwise;
  console.log('number is Odd');

}

Here is a complete function that will log to the console the parity of your input.

const checkNumber = (x) => {
  if(number%2 == 0){      

    //do something;
    console.log('number is Even');  

  }else{

    //do otherwise;
    console.log('number is Odd');

  }
}

Upvotes: 8

Vidya Sagar Mallarapu
Vidya Sagar Mallarapu

Reputation: 135

if (x & 1)
 itIsOddNumber();
else
 itIsEvenNumber();

Upvotes: 6

Sean Tank Garvey
Sean Tank Garvey

Reputation: 317

Use Modulus, but.. The above accepted answer is slightly inaccurate. I believe because x is a Number type in JavaScript that the operator should be a double assignment instead of a triple assignment, like so:

x % 2 == 0

Remember to declare your variables too, so obviously that line couldn't be written standalone. :-) Usually used as an if statement. Hope this helps.

Upvotes: 2

Deepak Upadhyay
Deepak Upadhyay

Reputation: 31

Please write the following code in your console:

var isEven = function(deep) {

  if (deep % 2 === 0) {
        return true;  
    }
    else {
        return false;    
    }
};
isEven(44);

Please Note: It will return true, if the entered number is even otherwise false.

Upvotes: 2

Klapaucjusz TF
Klapaucjusz TF

Reputation: 181

You can do it in a better way (up to 50 % faster than modulo operator):

odd: x & 1 even: !(x & 1)

Reference: High Performance JavaScript, 8. ->Bitwise Operators

Upvotes: 12

SteveO
SteveO

Reputation: 15

array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

array.each { |x| puts x if x % 2 == 0 }

ruby :D

2 4 6 8 10

Upvotes: -2

Anurag
Anurag

Reputation: 141879

Seriously, there's no jQuery plugin for odd/even checks?

Well, not anymore - releasing "Oven" a jQuery plugin under the MIT license to test if a given number is Odd/Even.

Source code is also available at http://jsfiddle.net/7HQNG/

Test-suites are available at http://jsfiddle.net/zeuRV/

(function() {
    /*
     * isEven(n)
     * @args number n
     * @return boolean returns whether the given number is even
     */
    jQuery.isEven = function(number) {
        return number % 2 == 0;
    };

    /* isOdd(n)
     * @args number n
     * @return boolean returns whether the given number is odd
     */
    jQuery.isOdd = function(number) {
        return !jQuery.isEven(number);
    };
})();​

Upvotes: 28

Alex K.
Alex K.

Reputation: 175766

You can also:

if (x & 1)
 itsOdd();
else
 itsEven();

Upvotes: 9

Pablo Cabrera
Pablo Cabrera

Reputation: 5849

var x = 2;
x % 2 ? oddFunction() : evenFunction();

Upvotes: 4

wsanville
wsanville

Reputation: 37516

You can use the modulus operator like this, no need for jQuery. Just replace the alerts with your code.

var x = 2;
if (x % 2 == 0)
{
  alert('even');
}
else
{
  alert('odd')
}

Upvotes: 13

Mike Atlas
Mike Atlas

Reputation: 8231

You don't need jQuery. Just use JavaScript's Modulo operator.

Upvotes: 14

Andy E
Andy E

Reputation: 344557

Use modulus:

// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0  

Upvotes: 397

Related Questions