谁能告诉我一些代码,以确定一个数字在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;