Найти, если переменная делится на 2 - PullRequest
107 голосов
/ 12 мая 2010

Как узнать, делится ли переменная на 2? Кроме того, мне нужно выполнить функцию, если она есть, и выполнить другую функцию, если это не так.

Ответы [ 12 ]

273 голосов
/ 12 мая 2010

Использовать модуль:

// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0  
27 голосов
/ 13 мая 2010

Серьезно, не существует плагина jQuery для нечетных / четных проверок?

Что ж, больше нет - выпускать "Oven" плагин jQuery под лицензией MIT для проверки, является ли данное число нечетным / четным.

Исходный код также доступен на http://jsfiddle.net/7HQNG/

Наборы тестов доступны на 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);
    };
})();​
13 голосов
/ 12 мая 2010

Вам не нужен jQuery. Просто используйте оператор JavaScript по модулю .

10 голосов
/ 12 мая 2010

Вы можете использовать оператор модуля следующим образом, нет необходимости в jQuery. Просто замените alerts на ваш код.

var x = 2;
if (x % 2 == 0)
{
  alert('even');
}
else
{
  alert('odd')
}
9 голосов
/ 27 мая 2014

Вы можете сделать это лучше (до 50% быстрее, чем по модулю):

нечетно: x & 1 даже:! (x & 1)

Справочник: Высокопроизводительный JavaScript, 8. -> Битовые операторы

7 голосов
/ 12 мая 2010

Вы также можете:

if (x & 1)
 itsOdd();
else
 itsEven();
3 голосов
/ 05 января 2019
if (x & 1)
 itIsOddNumber();
else
 itIsEvenNumber();
3 голосов
/ 12 мая 2010
var x = 2;
x % 2 ? oddFunction() : evenFunction();
0 голосов
/ 25 апреля 2019

Надеюсь, это поможет.

let number = 7;

if(number%2 == 0){      

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

}else{

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

}

Вот полная функция, которая регистрирует на консоли четность вашего ввода.

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

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

  }else{

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

  }
}
0 голосов
/ 14 октября 2017

Использовать модуль, но .. Приведенный выше ответ немного неточен. Я считаю, что, поскольку x является типом Number в JavaScript, оператор должен быть двойным, а не тройным назначением, например:

x % 2 == 0

Не забудьте также объявить ваши переменные, поэтому очевидно, что строка не может быть написана отдельно. :-) Обычно используется как оператор if. Надеюсь, это поможет.

...