用于In循环的CoffeeScript字符串插值添加逗号

时间:2012-02-23 23:16:48

标签: arrays string loops coffeescript interpolation

这个coffeescript ......

"""
#{@display_event_small(event) for event in data.top_events}
"""

在data.top_events中的每个元素之间输出逗号。我需要让它们连接在一起而不用逗号。当然,我可以使用更自定义的循环,但我认为CoffeeScript有更好的方法来改变这种行为。

如果需要澄清,请告诉我。感谢。

1 个答案:

答案 0 :(得分:6)

循环表达式产生一个数组,因此您可以使用空字符串分隔符显式连接元素:

"""
#{(@display_event_small(event) for event in data.top_events).join('')}
"""

"#{}"没有特殊的格式选项,CoffeeScript只是将其内部翻出来并交给JavaScript的+。像"a #{b} c"这样的插值字符串变为

"a " + b + " c"

编译为JavaScript时,JavaScript会在对数组进行字符串化时插入逗号。