CoffeeScript 字符串插值与 For In 循环添加逗号

发布于 2025-01-08 21:42:47 字数 248 浏览 1 评论 0原文

此 CoffeeScript...

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

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

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

This coffeescript...

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

outputs commas between each of the elements in data.top_events. I need to have them concatenate without commas in between. Of course, I could use a more customized loop, but I would imagine CoffeeScript has a nicer way of changing this behavior.

Let me know if I need to clarify. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

变身佩奇 2025-01-15 21:42:47

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

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

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

"a " + b + " c"

在编译为 JavaScript 时会变成这样,并且 JavaScript 在对数组进行字符串化时会插入逗号。

The loop expression results in an array so you could explicitly join the elements with an empty string delimiter:

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

There's no special formatting options for "#{}", CoffeeScript just turns it inside out and hands it off to JavaScript's +. An interpolated string like "a #{b} c" becomes

"a " + b + " c"

when compiled to JavaScript and JavaScript is inserting the commas when it stringifies your array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文