谁能告诉我一些代码,以确定一个数字在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));
这甚至应该输出到控制台