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


当前回答

若为奇数则返回true

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

如果为偶数则返回true

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

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

其他回答

这就是我所做的

//Array of numbers
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,32,23,643,67,5876,6345,34,3453];
//Array of even numbers
var evenNumbers = [];
//Array of odd numbers
var oddNumbers = [];

function classifyNumbers(arr){
  //go through the numbers one by one
  for(var i=0; i<=arr.length-1; i++){
     if (arr[i] % 2 == 0 ){
        //Push the number to the evenNumbers array
        evenNumbers.push(arr[i]);
     } else {
        //Push the number to the oddNumbers array
        oddNumbers.push(arr[i]);
     }
  }
}

classifyNumbers(numbers);

console.log('Even numbers: ' + evenNumbers);
console.log('Odd numbers: ' + oddNumbers);

出于某种原因,我必须确保数组的长度小于1。当我不这样做时,我在oddNumbers数组的最后一个元素中得到“undefined”。

刚刚在adobedreamweaver中执行了这个,它工作得很完美。 i using if (isNaN(mynmb))

检查给定的值是否为数字, 我还使用Math.abs(mynmb%2)将负数转换为正数并计算

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</head>
<body bgcolor = "#FFFFCC">
    <h3 align ="center"> ODD OR EVEN </h3><table cellspacing = "2" cellpadding = "5" bgcolor="palegreen">
        <form name = formtwo>
            <td align = "center">
                <center><BR />Enter a number: 
                    <input type=text id="enter" name=enter maxlength="10" />
                    <input type=button name = b3 value = "Click Here" onClick = compute() />
                      <b>is<b> 
                <input type=text id="outtxt" name=output size="5" value="" disabled /> </b></b></center><b><b>
                <BR /><BR />
            </b></b></td></form>
        </table>

    <script type='text/javascript'>

        function compute()
        {
          var enter = document.getElementById("enter");
          var outtxt = document.getElementById("outtxt");

          var mynmb = enter.value;
          if (isNaN(mynmb)) 
          { 
            outtxt.value = "error !!!"; 
            alert( 'please enter a valid number');
            enter.focus();
            return;
          }
          else 
          { 
             if ( mynmb%2 == 0 ) { outtxt.value = "Even"; }  
             if ( Math.abs(mynmb%2) == 1 ) { outtxt.value = "Odd"; }
          }
        }

    </script>
</body>
</html>

使用位,codegolfing:

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

一个方法来知道数字是否为奇数

Let numbers = [11,20,2,5,17,10]; 让n = numbers.filter((ele) => ele % 2 != 0); console.log (n);

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