151

如何判断一个变量是否能被 2 整除?此外,如果是,我需要做一个功能,如果不是,我需要做一个不同的功能。

4

12 回答 12

369

使用模数:

// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0  
于 2010-05-12T17:01:07.683 回答
29

说真的,没有用于奇数/偶数检查的 jQuery 插件?

好吧,不再是 - 在 MIT 许可下发布“Oven”一个 jQuery 插件来测试给定的数字是否是奇数/偶数。

源代码也可在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);
    };
})();​
于 2010-05-13T04:45:38.577 回答
13

你不需要 jQuery。只需使用JavaScript 的 Modulo运算符。

于 2010-05-12T17:01:15.857 回答
12

您可以以更好的方式来做到这一点(比模运算符快 50%):

奇数:x & 1 偶数:!(x & 1)

参考:高性能 JavaScript,8。->位运算符

于 2014-05-27T14:15:39.323 回答
11

您可以像这样使用模数运算符,不需要 jQuery。只需alerts用您的代码替换。

var x = 2;
if (x % 2 == 0)
{
  alert('even');
}
else
{
  alert('odd')
}
于 2010-05-12T17:03:09.163 回答
9

你也可以:

if (x & 1)
 itsOdd();
else
 itsEven();
于 2010-05-12T18:43:34.897 回答
6
if (x & 1)
 itIsOddNumber();
else
 itIsEvenNumber();
于 2019-01-05T11:39:45.287 回答
4
var x = 2;
x % 2 ? oddFunction() : evenFunction();
于 2010-05-12T17:49:32.513 回答
4

希望这可以帮助。

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');

  }
}
于 2019-04-25T13:47:37.913 回答
2

请在您的控制台中编写以下代码:

var isEven = function(deep) {

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

请注意:如果输入的数字为假,它将返回真。

于 2017-03-01T08:08:56.837 回答
2

使用模数,但是.. 上面接受的答案有点不准确。我相信因为 x 是 JavaScript 中的 Number 类型,所以运算符应该是双重赋值而不是三重赋值,如下所示:

x % 2 == 0

记得也要声明你的变量,所以很明显那行不能独立编写。:-) 通常用作if语句。希望这可以帮助。

于 2017-10-14T19:57:37.263 回答
-1

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

array.each { |x| 如果 x % 2 == 0 }

红宝石:D

2 4 6 8 10

于 2013-03-17T20:59:51.200 回答