Coffeescript:在单行中返回true或false

时间:2014-06-06 09:46:55

标签: coffeescript

对于像

这样的示例函数
singleDigits = (list) ->
    return false for i in list when i > 9
    true

我想知道如果没有单独的true,那是否可行 e.g。

singleDigits = (list) -> return true unless false for i in list when i > 9

(我知道这不起作用,只是为了说明我要问的内容)

2 个答案:

答案 0 :(得分:3)

我认为您可以使用some中的Array方法。

someDigits = (list) -> list.some (digit) -> digit > 9

优于reduce的优点是它会在谓词变为真的时刻停止,而reduce仍然会在整个数组中完成。

请参阅Array.prototype.some参考。

答案 1 :(得分:0)

怎么样:

singleDigits = (list) ->
    list.reduce (previous = true, next) -> previous and next < 10