1
message += days + " day" + ( days==1 ? '':'s' ) + ", ";

如果我的计数器到 1 个月和零天,它当然会写 dayS。如何将“OR”运算符传递到此代码中?

我试过:

( (days==1 ? '':'s' ) || (days==0 ? '':'s'))

和:

( days==1||0 ? '':'s' )

它们都在值“0”处显示 S

4

4 回答 4

2

你为什么不试试:

days < 2

除非有可能出现负天数

于 2012-11-26T06:54:39.607 回答
1

尝试(( days==1|| days == 0) ? '':'s' )

于 2012-11-26T06:54:44.227 回答
1

“0天”是正确的,但如果你真的想要它:(days == 0 || days == 1 ? '' : 's')

或者:((days <= 1 ? '' : 's')因为您不能有负数或非整数天数。

或者您可以对整行执行此操作:

if( days) message += days + " day" + (days==1 ? '' : 's') + ", ";
于 2012-11-26T06:55:15.083 回答
1

像这样写

message += days + " day" + ( days<=1 ? '':'s' ) + ", ";
于 2012-11-26T06:55:30.320 回答