2012-02-23 78 views
0

此的CoffeeScript ...CoffeeScript的字符串插值在Loop添加逗號

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

每個data.top_events元件之間輸出逗號。我需要讓他們在沒有逗號之間進行連接。當然,我可以使用更加自定義的循環,但我會想象CoffeeScript有更好的方式來改變這種行爲。

讓我知道我是否需要澄清。謝謝。

回答

6

環路表達結果在一個數組,所以你可以明確地加入一個空字符串分隔的元素:

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

有一個爲"#{}"無特殊格式化選項,CoffeeScript的只是把它裏面出來並把它關到JavaScript的+。當編譯爲JavaScript和JavaScript被插入逗號時stringifies你的陣列狀"a #{b} c"插值的字符串變成

"a " + b + " c" 

+1

這是'[1,2,3] .toString()'和'[1,2,3] .join('')'之間的對比。 – hpaulj 2013-12-02 03:07:34