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


当前回答

这里有很多答案,但我只想提一点。

通常最好使用模运算符,如% 2,但也可以使用位运算符,如& 1。两者都会产生相同的结果。然而,它们的先例不同。如果你需要一段代码,比如

i%2 === p ? n : -n

这很好,但是对于位运算符,你必须这样做

(i&1) === p ? n : -n

就是这样。

其他回答

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

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

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

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

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

若为奇数则返回true

function isOdd(n) {
    return Math.abs(n)%2===1;
}

如果为偶数则返回true

function isEven(n) {
    return Math.abs(n)%2!==1;
}

我使用Math.abs()以防得到负数

在ES6:

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

通过使用三元运算符,我们可以找到奇数和偶数:

Var num = 2; 结果= (num % 2 == 0) ?'even': '奇数' console.log(结果);

这适用于数组:

function evenOrOdd(numbers) {
  const evenNumbers = [];
  const oddNumbers = [];
  numbers.forEach(number => {
    if (number % 2 === 0) {
      evenNumbers.push(number);
    } else {
      oddNumbers.push(number);
    }
  });

  console.log("Even: " + evenNumbers + "\nOdd: " + oddNumbers);
}

evenOrOdd([1, 4, 9, 21, 41, 92]);

这应该注销: 4, 92 1、9、21日,41岁

对于一个数字:

function evenOrOdd(number) {
  if (number % 2 === 0) {
    return "even";
  }

  return "odd";
}

console.log(evenOrOdd(4));

这甚至应该输出到控制台