谁能告诉我一些代码,以确定一个数字在JavaScript是偶数还是奇数?


当前回答

使用%将帮助您做到这一点…

你可以创建几个函数来为你做这件事…我更喜欢单独的函数,这些函数没有附加到Javascript中的数字,就像这样,它还检查你是否传递数字:

奇函数:

var isOdd = function(num) {
  return 'number'!==typeof num ? 'NaN' : !!(num % 2);
};

偶函数:

var isEven = function(num) {
  return isOdd(num)==='NaN' ? isOdd(num) : !isOdd(num);
};

像这样叫它:

isOdd(5); // true
isOdd(6); // false
isOdd(12); // false
isOdd(18); // false
isEven(18); // true
isEven('18'); // 'NaN'
isEven('17'); // 'NaN'
isOdd(null); // 'NaN'
isEven('100'); // true

其他回答

if (X % 2 === 0){
} else {
}

用你的数字替换X(可以来自一个变量)。If语句在数字为偶数时运行,Else语句在数字为奇数时运行。

如果你只想知道某个给定的数字是否是奇数:

if (X % 2 !== 0){
}

同样,用一个数字或变量替换X。

使用按位AND运算符。

函数oddOrEven(x) { Return (x & 1) ?“odd”:“偶数”; } 函数checkNumber(argNumber) { . getelementbyid(“结果”)。innerHTML = "Number " + argNumber + " is " + oddOrEven(argNumber); } checkNumber (17); < span style="font- family:宋体;"> < / div >

如果你不想要一个字符串返回值,而是一个布尔值,使用这个:

var isOdd = function(x) { return x & 1; };
var isEven  = function(x) { return !( x & 1 ); };

在ES6:

const isOdd = num => num % 2 == 1;

我是否需要创建一个包含很多偶数的大数组

不。使用模量(%)。它给出了你要除的两个数的余数。

Ex. 2 % 2 = 0 because 2/2 = 1 with 0 remainder.

Ex2. 3 % 2 = 1 because 3/2 = 1 with 1 remainder.

Ex3. -7 % 2 = -1 because -7/2 = -3 with -1 remainder.

这意味着,如果你对任何数字x取余2,你得到的结果不是0就是1或者-1。0表示它是偶数。其他的都是奇数。

使用下面的代码:

函数 isOdd(num) { return num % 2;} console.log(“1 is ” + isOdd(1)); console.log(“2 is ” + isOdd(2)); console.log(“3 is ” + isOdd(3)); console.log(“4 is ” + isOdd(4));

1表示奇数,0表示偶数。