在CoffeeScript中查找范围

时间:2012-06-10 12:07:43

标签: coffeescript

我理解如何在CoffeeScript中定义数组范围

lng[1..10]

但是,如果我有

data = 10

如果10在1和11的范围内,最好的方法是什么?

if data is between(1..11)
  return true

2 个答案:

答案 0 :(得分:21)

没有“between”关键字,但您可以使用正常的数组范围:

if data in [1..11]
    alert 'yay'

但这有点过分,所以在简单的情况下,我建议进行正常的比较:

if 1 <= data <= 11
    alert 'yay'

答案 1 :(得分:2)

如果您不介意污染原生原型,可以向between对象添加Number方法:

Number::between = (min, max) -> 
  min <= this <= max

if 10.between(1, 11)
  alert 'yay'

虽然我个人不会使用它。 if 1 <= something <= 11更直接,每个人都会理解它。相反,如果你想知道它做了什么(或者你必须猜测),必须查找between方法,我认为它不会增加那么多。