10

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

lng[1..10]

但是,如果我有

data = 10

找出 10 是否在 1 和 11 范围内的最佳方法是什么?

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

2 回答 2

22

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

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

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

if 1 <= data <= 11
    alert 'yay'
于 2012-06-10T12:20:10.183 回答
3

如果你不介意污染原生原型,你可以between给对象添加一个方法Number

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

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

虽然我个人不会使用它。if 1 <= something <= 11比较直接,大家都会明白的。between相反,如果您想知道它的作用(或者您必须猜测),则必须查找该方法,我认为它不会增加太多。

于 2012-06-10T21:54:25.313 回答