Если число заканчивается 1, сделайте что-нибудь
Я хочу сделать что-то вроде этого:
if(day==1 || day==11 || day==21 || day==31 || day==41 ......){
result="dan";
}
else{
result="dana";
}
Как я могу это сделать с каждым числом, которое заканчивается одним и, конечно, без написания всех чисел?
Ответы
Ответ 1
Просто проверьте остаток деления на 10:
if (day % 10 == 1) {
result = "dan";
} else {
result = "dana";
}
%
- это оператор "Модуло" или "Модуль", если вы не используете JavaScript, и в этом случае это простой оператор остатка (не истинный modulo). Он делит два числа и возвращает остаток.
Ответ 2
Вы можете проверить оставшуюся часть деления на 10 с помощью оператора Модуля.
if (day % 10 == 1)
{
result = "dan";
}
else
{
result = "dana";
}
Или если вы хотите избежать нормального if
:
result = "dan" + (day % 10 == 1 ? "" : "a");
% - это оператор модуля JavaScript. Это дает вам остаток от деления:
Пример:
11 / 10 = 1 with remainder 1.
21 / 10 = 2 with remainder 1.
31 / 10 = 3 with remainder 1.
...
См. этот ответ: Что делает% в JavaScript? для подробного объяснения того, что делает оператор.
Ответ 3
Оператор модуля. Вы можете исследовать его, но в основном вы хотите определить, имеет ли число, деленное на 10, остаток 1:
if( day%10 == 1)
Ответ 4
это можно решить одной строкой
return (day % 10 == 1) ? 'dan' : 'dana';