谁能告诉我一些代码,以确定一个数字在JavaScript是偶数还是奇数?
当前回答
ES6中的一行代码,因为它很干净。
const isEven = (num) => num % 2 == 0;
其他回答
递归地减去2,直到达到-1或0(显然只适用于正整数):)
if (X % 2 === 0){
} else {
}
用你的数字替换X(可以来自一个变量)。If语句在数字为偶数时运行,Else语句在数字为奇数时运行。
如果你只想知道某个给定的数字是否是奇数:
if (X % 2 !== 0){
}
同样,用一个数字或变量替换X。
function isEven(x) { return (x%2)==0; }
function isOdd(x) { return !isEven(x); }
ES6中的一行代码,因为它很干净。
const isEven = (num) => num % 2 == 0;
当您需要测试某个变量是否是奇数时,您应该首先测试它是否是整数。另外,请注意,当您计算负数的余数时,结果将是负数(-3 % 2 === -1)。
function isOdd(value) {
return typeof value === "number" && // value should be a number
isFinite(value) && // value should be finite
Math.floor(value) === value && // value should be integer
value % 2 !== 0; // value should not be even
}
如果号码。isInteger是可用的,你也可以将这段代码简化为:
function isOdd(value) {
return Number.isInteger(value) // value should be integer
value % 2 !== 0; // value should not be even
}
注意:在这里,我们测试值% 2 !== 0而不是值% 2 == 1,因为-3 % 2 === -1。如果你不想让-1通过这个测试,你可能需要改变这一行。
下面是一些测试用例:
isOdd(); // false
isOdd("string"); // false
isOdd(Infinity); // false
isOdd(NaN); // false
isOdd(0); // false
isOdd(1.1); // false
isOdd("1"); // false
isOdd(1); // true
isOdd(-1); // true