我有以下数组赋值:
advances = if advance == 0 then [advance] else [advance, (0 - advance)]
我想知道是否有更多的coffeescript方式吗?
答案 0 :(得分:1)
怎么样:
advances = [advance]
advances.push (0 - advance) if advance != 0
我认为这更具可读性。但我想这是一个品味问题。 它还使用了咖啡脚本的非常好的if-to-the-end功能,我做了一些声明,比如这个“条件数组增长”更具可读性(至少对我来说)。
PS:我还将== 0
更改为!= 0
以避免unless
语句。在阅读代码时,这只会让我感到困惑。
答案 1 :(得分:0)
你可能正在考虑列表推导,但我无法想象如何在这里使用它们。我相信你会利用underscore.js(或其他一些提供集合实用程序的库)获得更好的结果:
advances = _.uniq([advance, (0 - advance)])
答案 2 :(得分:0)
我认为你自己的建议完全没问题。它简单,清晰,功能纯正。
如果您认为最小化标点符号是coffeescript方式的一部分,那么您可以删除括号
advances = if advance == 0 then [advance] else [advance, 0 - advance]