我想做这样的事情:
if(day==1 || day==11 || day==21 || day==31 || day==41 ......){
result="dan";
}
else{
result="dana";
}
我怎么能用每个以一个结尾的数字来做到这一点,当然没有写下所有数字?
答案 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';