如果数字以1结尾做某事

vla*_*lek 24 javascript if-statement

我想做这样的事情:

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

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

Sha*_*had 54

只需检查除以10的除法:

if (day % 10 == 1) { 
  result = "dan";
} else {
  result = "dana";
}
Run Code Online (Sandbox Code Playgroud)

%是"Modulo"或"模数"运算符,除非你使用JavaScript,在这种情况下它是一个简单的余数运算符(不是真正的模数).它将这两个数字分开,然后返回余数.


aKz*_*enT 18

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

if (day % 10 == 1)
{ 
   result = "dan";
}
else
{
   result = "dana";
}
Run Code Online (Sandbox Code Playgroud)

或者如果你想避免正常if:

result = "dan" + (day % 10 == 1 ? "" : "a");
Run Code Online (Sandbox Code Playgroud)

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

例:

11 / 10 = 1 with remainder 1.
21 / 10 = 2 with remainder 1.
31 / 10 = 3 with remainder 1.
...
Run Code Online (Sandbox Code Playgroud)

看到这个答案:%在JavaScript中有什么作用?有关运营商的详细说明.


Aar*_*nLS 8

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

if( day%10 == 1)
Run Code Online (Sandbox Code Playgroud)