如果数字以1结尾做某事

时间:2013-12-06 20:52:09

标签: javascript if-statement

我想做这样的事情:

if(day==1 || day==11 || day==21 || day==31 || day==41 ......){
    result="dan";
}
else{
    result="dana";
}

我怎么能用每个以一个结尾的数字来做到这一点,当然没有写下所有数字?

4 个答案:

答案 0 :(得分:54)

只需检查除以10的其余部分:

if (day % 10 == 1) { 
  result = "dan";
} else {
  result = "dana";
}

%是“Modulo”或“模数”运算符,除非您使用的是JavaScript,在这种情况下它是一个简单的余数运算符(not a true modulo)。它将这两个数字分开,并返回余数。

答案 1 :(得分:18)

您可以使用模数运算符检查除法的余数10。

if (day % 10 == 1)
{ 
   result = "dan";
}
else
{
   result = "dana";
}

或者,如果您想避免正常的if

result = "dan" + (day % 10 == 1 ? "" : "a");

%是Javascript Modulus运算符。它为您提供了一个部门的剩余部分:

示例:

11 / 10 = 1 with remainder 1.
21 / 10 = 2 with remainder 1.
31 / 10 = 3 with remainder 1.
...

请参阅此答案:What does % do in JavaScript?,详细说明操作员的操作。

答案 2 :(得分:8)

模数运算符。你可以研究它,但基本上你想要检测一个除以10的数字是否有一个余数为1:

if( day%10 == 1)

答案 3 :(得分:1)

这可以通过单行解决

return (day % 10 == 1) ? 'dan' : 'dana';