【问题标题】:CoffeeScript String Interpolation with For In Loop Adds Commas带有 For In 循环的 CoffeeScript 字符串插值添加逗号
【发布时间】:2012-03-14 10:40:36
【问题描述】:

这个咖啡脚本...

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

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

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

【问题讨论】:

    标签: arrays string loops coffeescript interpolation


    【解决方案1】:

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

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

    "#{}" 没有特殊的格式选项,CoffeeScript 只是把它翻过来,然后交给 JavaScript 的 +。像"a #{b} c" 这样的内插字符串变为

    "a " + b + " c"
    

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

    【讨论】:

    • 这是[1,2,3].toString()[1,2,3].join('')的对比。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2013-12-02
    • 2012-01-09
    • 1970-01-01
    • 2013-11-02
    • 2022-01-26
    • 2013-11-08
    相关资源
    最近更新 更多