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


当前回答

这适用于数组:

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

这甚至应该输出到控制台

其他回答

function isEven(x) { return (x%2)==0; }
function isOdd(x) { return !isEven(x); }

使用位,codegolfing:

var isEven=n=>(n&1)?"odd":"even";

使用%将帮助您做到这一点…

你可以创建几个函数来为你做这件事…我更喜欢单独的函数,这些函数没有附加到Javascript中的数字,就像这样,它还检查你是否传递数字:

奇函数:

var isOdd = function(num) {
  return 'number'!==typeof num ? 'NaN' : !!(num % 2);
};

偶函数:

var isEven = function(num) {
  return isOdd(num)==='NaN' ? isOdd(num) : !isOdd(num);
};

像这样叫它:

isOdd(5); // true
isOdd(6); // false
isOdd(12); // false
isOdd(18); // false
isEven(18); // true
isEven('18'); // 'NaN'
isEven('17'); // 'NaN'
isOdd(null); // 'NaN'
isEven('100'); // true

递归地减去2,直到达到-1或0(显然只适用于正整数):)

在ES6:

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