这个coffeescript ......
"""
#{@display_event_small(event) for event in data.top_events}
"""
在data.top_events中的每个元素之间输出逗号。我需要让它们连接在一起而不用逗号。当然,我可以使用更自定义的循环,但我认为CoffeeScript有更好的方法来改变这种行为。
如果需要澄清,请告诉我。感谢。
答案 0 :(得分:6)
循环表达式产生一个数组,因此您可以使用空字符串分隔符显式连接元素:
"""
#{(@display_event_small(event) for event in data.top_events).join('')}
"""
"#{}"
没有特殊的格式选项,CoffeeScript只是将其内部翻出来并交给JavaScript的+
。像"a #{b} c"
这样的插值字符串变为
"a " + b + " c"
编译为JavaScript时,JavaScript会在对数组进行字符串化时插入逗号。