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


当前回答

这可以用一小段代码来解决:

function isEven(value) {
    return !(value % 2)
}

希望这对你有所帮助。

其他回答

奇数除以2剩下余数为1,偶数除以0剩下余数为0。因此我们可以使用这段代码

  function checker(number)  {
   return number%2==0?even:odd;
   }

我将实现这个来返回一个布尔值:

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

使用按位AND运算符。

函数oddOrEven(x) { Return (x & 1) ?“odd”:“偶数”; } 函数checkNumber(argNumber) { . getelementbyid(“结果”)。innerHTML = "Number " + argNumber + " is " + oddOrEven(argNumber); } checkNumber (17); < span style="font- family:宋体;"> < / div >

如果你不想要一个字符串返回值,而是一个布尔值,使用这个:

var isOdd = function(x) { return x & 1; };
var isEven  = function(x) { return !( x & 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));

这甚至应该输出到控制台

使用我的扩展:

Number.prototype.isEven=function(){
     return this % 2===0;
};

Number.prototype.isOdd=function(){
     return !this.isEven();
}

然后

var a=5; 
 a.isEven();

= =假

 a.isOdd();

= = True

如果你不确定它是否是一个数字,通过以下分支测试它:

if(a.isOdd){
    a.isOdd();
}

更新:

如果你不使用变量:

(5).isOdd()

性能:

事实证明,过程式范式比面向对象范式更好。 顺便说一下,我在这个小提琴中进行了剖析。然而,面向对象的方式仍然是最漂亮的。