如何确定JavaScript中的数字是否为奇数
有人能告诉我一些代码来确定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
函数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;