如何确定JavaScript中的数字是否为奇数

如何确定JavaScript中的数字是否为奇数,javascript,Javascript,有人能告诉我一些代码来确定JavaScript中的数字是偶数还是奇数吗?使用以下代码: 函数isOdd(num){返回num%2;} 控制台日志(“1是”+isOdd(1)); 控制台日志(“2是”+isOdd(2)); 控制台日志(“3是”+isOdd(3)); 控制台日志(“4是”+isOdd(4))您可以这样做: function isEven(value){ if (value%2 == 0) return true; else retu

有人能告诉我一些代码来确定JavaScript中的数字是偶数还是奇数吗?

使用以下代码:

函数isOdd(num){返回num%2;}
控制台日志(“1是”+isOdd(1));
控制台日志(“2是”+isOdd(2));
控制台日志(“3是”+isOdd(3));

控制台日志(“4是”+isOdd(4))您可以这样做:

function isEven(value){
    if (value%2 == 0)
        return true;
    else
        return false;
}
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(显然只适用于正整数):)

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

如果您只想知道任何给定的数字是否为奇数:

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

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

您可以使用for语句和条件来确定一个数字或一系列数字是否为奇数:

for (var i=1; i<=5; i++) 
if (i%2 !== 0) {
    console.log(i)
}

for(var i=1;i这可以通过一小段代码来解决:

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

希望这能有所帮助:)

像许多语言一样,Javascript有一个查找除法剩余部分的函数。如果除以2后没有余数,则数字为偶数:

// this expression is true if "number" is even, false otherwise
(number % 2 == 0)
这是测试偶数整数的常用习惯用法。

使用按位运算符

函数oddOrEven(x){
返回(x&1)-“奇数”:“偶数”;
}
函数检查编号(argNumber){
document.getElementById(“结果”).innerHTML=“Number”+argNumber+”是“+oddOrEven(argNumber);
}
支票号码(17)
我必须使一个数组非常大,有很多偶数吗

否。使用模数(%)。它给出两个正被除的数字的剩余部分

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.

这意味着如果你用2修改任何数字x,你会得到0或1或-1。0意味着它是相等的。其他任何东西都意味着它很奇怪。

一个可以传递的简单函数。使用模运算符
%

var is_even = function(x) {
    return !(x % 2); 
}

is_even(3)
false
is_even(6)
true

刚刚在AdobeDreamweaver中执行了这一个..它工作得非常完美。 我使用了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>

奇偶

输入一个数字: 是

函数compute() { var enter=document.getElementById(“enter”); var outtxt=document.getElementById(“outtxt”); var mynmb=enter.value; if(isNaN(mynmb)) { outtxt.value=“错误!!!”; 警报(“请输入有效数字”); enter.focus(); 返回; } 其他的 { 如果(mynmb%2==0){outtxt.value=“偶数”;} if(Math.abs(mynmb%2)==1){outtxt.value=“Odd”;} } }
每一个奇数被两除后余数为1,每一个偶数被零除后余数为0。因此,我们可以使用此代码

  function checker(number)  {
   return number%2==0?even:odd;
   }
使用我的扩展名:

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

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

==错误

 a.isOdd();
==真

如果不确定它是否为数字,请通过以下分支进行测试:

if(a.isOdd){
    a.isOdd();
}
更新:

如果不使用变量:

(5).isOdd()
性能: 事实证明,过程性范式优于面向对象的范式。 顺便说一下,我表演了。然而,面向对象的方式仍然是最漂亮的

这个怎么样

    var num = 3 //instead get your value here
    var aa = ["Even", "Odd"];

    alert(aa[num % 2]);
这就是我所做的

//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,2,3,4,5,6,7,8,9,10,32,23643,6758766345,343453];
//偶数数组
var evenNumbers=[];
//奇数数组
var oddNumbers=[];
功能分类编号(arr){
//把数字一个一个地看一遍
对于(变量i=0;i

函数奇偶(){
var num=document.getElementById('number')。值;
如果(数量%2){
document.getElementById('result').innerHTML=“输入的数字为奇数”;
}
否则{
document.getElementById('result').innerHTML=“输入的数字为偶数”;
}
}
发现给定的数字是偶数还是奇数
输入一个值

检查
许多人误解了奇数的含义
  • isOdd(“str”)
    应为false。
    只有整数可以是奇数
  • isOdd(1.223)
    isOdd(-1.223)
    应为false。
    浮点不是整数
  • isOdd(0)
    应为false。
    零是偶数整数()
  • isOdd(-1)
    应为真。
    这是一个奇数整数
解决方案 JS小提琴(如果需要):

1班轮 Javascript一行程序解决方案。适用于那些不关心可读性的人

const isOdd = n => !(isNaN(n) && ((n % 1) !== 0) && (n === 0)) && ((n % 2) !== 0) ? true : false;
通过使用三元运算符,我们可以找到奇偶数:

var num=2;
结果=(数值%2==0)?“偶数”:“奇数”

console.log(result);
当您需要测试某个变量是否为奇数时,您应该首先测试它是否为整数。另外,请注意,当您计算负数的余数时,结果将为负数(
-3%2===-1

如果Number.isInteger可用,您还可以将此代码简化为:

function isOdd(value) {
  return Number.isInteger(value)      // value should be integer
    value % 2 !== 0;                  // value should not be even
}
注意:这里,我们测试
值%2!==0
而不是
值%2===1
是因为
-3%2===-1
。如果您不想
-1
通过此测试,您可能需要更改此行

以下是一些测试用例:

isOdd();         // false
isOdd("string"); // false
isOdd(Infinity); // false
isOdd(NaN);      // false
isOdd(0);        // false
isOdd(1.1);      // false
isOdd("1");      // false
isOdd(1);        // true
isOdd(-1);       // true

我将实现此操作以返回布尔值:

function isOdd (n) {
    return !!(n % 2);
    // or ((n % 2) !== 0).
}
它可以处理无符号和有符号的数字。当模数返回
-1
1
时,它将被转换为
true

非模数解决方案:

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;
}
var是有限的=isFinite;
var为_nan=isNaN;
函数isOdd(判别式){
if(is_-nan(判别式)&!is_-finite(d)
function isOdd(value) {
  return typeof value === "number" && // value should be a number
    isFinite(value) &&                // value should be finite
    Math.floor(value) === value &&    // value should be integer
    value % 2 !== 0;                  // value should not be even
}
function isOdd(value) {
  return Number.isInteger(value)      // value should be integer
    value % 2 !== 0;                  // value should not be even
}
isOdd();         // false
isOdd("string"); // false
isOdd(Infinity); // false
isOdd(NaN);      // false
isOdd(0);        // false
isOdd(1.1);      // false
isOdd("1");      // false
isOdd(1);        // true
isOdd(-1);       // true
function isOdd (n) {
    return !!(n % 2);
    // or ((n % 2) !== 0).
}
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;
}
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
const NUMBERS = "nul one two three four five six seven ocho nueve".split(" ")

const negate = f=> (...args)=> !f(...args)
const isOdd  = n=> NUMBERS[n % 10].indexOf("e")!=-1
const isEven = negate(isOdd)
var isEven=n=>(n&1)?"odd":"even";
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]);
function evenOrOdd(number) {
  if (number % 2 === 0) {
    return "even";
  }

  return "odd";
}

console.log(evenOrOdd(4));
const isOdd = num => num % 2 == 1;