谁能告诉我一些代码,以确定一个数字在JavaScript是偶数还是奇数?
当前回答
通过使用三元运算符,我们可以找到奇数和偶数:
Var num = 2; 结果= (num % 2 == 0) ?'even': '奇数' console.log(结果);
其他回答
你可以使用一个for语句和一个条件语句来确定一个数字或一组数字是否为奇数:
for (var i=1; i<=5; i++)
if (i%2 !== 0) {
console.log(i)
}
这将打印1到5之间的每一个奇数。
这里有很多答案,但我只想提一点。
通常最好使用模运算符,如% 2,但也可以使用位运算符,如& 1。两者都会产生相同的结果。然而,它们的先例不同。如果你需要一段代码,比如
i%2 === p ? n : -n
这很好,但是对于位运算符,你必须这样做
(i&1) === p ? n : -n
就是这样。
我将实现这个来返回一个布尔值:
function isOdd (n) {
return !!(n % 2);
// or ((n % 2) !== 0).
}
它对无符号数和有符号数都有效。当模量返回-1或1时,它将被转换为true。
Non-modulus解决方案:
var is_finite = isFinite;
var is_nan = isNaN;
function isOdd (discriminant) {
if (is_nan(discriminant) && !is_finite(discriminant)) {
return false;
}
// Unsigned numbers
if (discriminant >= 0) {
while (discriminant >= 1) discriminant -= 2;
// Signed numbers
} else {
if (discriminant === -1) return true;
while (discriminant <= -1) discriminant += 2;
}
return !!discriminant;
}
另一个使用filter()方法的例子:
let even = arr.filter(val => {
return val % 2 === 0;
});
// even = [2,4,6]
在ES6:
const isOdd = num => num % 2 == 1;