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

cel*_*ell 0 arrays string interpolation loops coffeescript

这个coffeescript ......

"""
#{@display_event_small(event) for event in data.top_events}
"""
Run Code Online (Sandbox Code Playgroud)

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

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

mu *_*ort 6

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

"""
#{(@display_event_small(event) for event in data.top_events).join('')}
"""
Run Code Online (Sandbox Code Playgroud)

没有特殊的格式化选项"#{}",CoffeeScript只是将其内部翻转并将其交给JavaScript +.插值字符串就像"a #{b} c"变成了

"a " + b + " c"
Run Code Online (Sandbox Code Playgroud)

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