【发布时间】:2023-03-03 20:03:03
【问题描述】:
for (var days = 1; days <= 31; ++days) {
console.log(
(days == (1, 31, 21) ? days + 'st':'') ||
(days == (2, 22) ? days + 'nd':'') ||
(days == (3, 23) ? days + 'rd':'') ||
days + 'th'
);
}
试图显示 (1st, 2nd, 3rd) (21st, 22nd, 23rd) (31st) (multiple th) 但是我在这里得到一个奇怪的结果,我不太确定我做错了什么,任何帮助将不胜感激。
我确实尝试用谷歌搜索并弄清楚这一点,承诺,只是希望能得到一个相对详细的解释,说明它为什么表现得很奇怪。
【问题讨论】:
-
我建议先在
ifs 中完整地编写您的代码。然后尝试使用三元运算符缩短它,如果必须的话。 -
另外,
days == (1, 31, 21)也不行。虽然它不是无效的语法,但它不会做你想要的。 -
@Cerbrus,谢谢你的回复,我知道现在该做什么了 :)
标签: javascript conditional ternary-operator