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


当前回答

你可以这样做:

function isEven(value){
    if (value%2 == 0)
        return true;
    else
        return false;
}

其他回答

若为奇数则返回true

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

如果为偶数则返回true

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

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

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

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

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

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

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

像许多语言一样,Javascript有一个模运算符%,用于查找除法的余数。如果数除2后无余数,则该数为偶数:

// this expression is true if "number" is even, false otherwise
(number % 2 == 0)

同理,若2除后余数为1,则该数为奇数:

// this expression is true if "number" is odd, false otherwise
(number % 2 == 1)

这是测试偶数的一个非常常见的习惯用法。

这适用于数组:

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));

这甚至应该输出到控制台

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

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

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表示它是偶数。其他的都是奇数。