Javascript 返回'+'+;n如果是正数

Javascript 返回'+'+;n如果是正数,javascript,coffeescript,Javascript,Coffeescript,我有下面这一行 data = ({id:x.toString(),text: x.toFixed(2)} for x in [params.min..params.max] by params.step) 父函数采用最大值、最小值和步长。它通过此对话框在组合框中创建选项。也就是说,[10,1,10]会给我留下一个包含20个选项的选项框:-10..0..10 这很好,但是当数字为正数时,我需要显示一个“+”。就我的一生而言,我无法从句法上理解这个条件句应该放在哪里。有什么建议吗?只需使用条件

我有下面这一行

  data = ({id:x.toString(),text: x.toFixed(2)} for x in [params.min..params.max] by params.step)
父函数采用最大值、最小值和步长。它通过此对话框在组合框中创建选项。也就是说,[10,1,10]会给我留下一个包含20个选项的选项框:-10..0..10


这很好,但是当数字为正数时,我需要显示一个“+”。就我的一生而言,我无法从句法上理解这个条件句应该放在哪里。有什么建议吗?

只需使用条件表达式即可。CoffeeScript
if…then…else
块可以用作表达式,因此下面的表达式

(if x > 0 then '+' else '') + x
如果数字为正数,将产生一个
+
符号

您可以简单地将其插入到现有代码中,如下所示:

data = ({ id: x.toString(), text: (if x > 0 then '+' else '') + x.toFixed(2) } for x in [params.min..params.max] by params.step)

对工作令人敬畏。我刚刚花了3个小时搞砸了这个的语法,谢谢你的快速回复