Я понимаю, как определить диапазон массивов в CoffeeScript
lng[1..10]
Однако, если у меня есть
data = 10
Какой лучший способ найти, если 10 находится в диапазоне от 1 до 11?
if data is between(1..11)
return true
Ответ 1
Нет ключевого слова "между", но вы можете использовать обычный диапазон массивов:
if data in [1..11]
alert 'yay'
Но это немного перебор, поэтому в простых случаях я бы рекомендовал нормальное сравнение:
if 1 <= data <= 11
alert 'yay'
Ответ 2
Если вы не против загрязнения собственных прототипов, вы можете добавить between метод к объектам Number:
Number::between = (min, max) ->
min <= this <= max
if 10.between(1, 11)
alert 'yay'
Хотя я лично его не использовал. if 1 <= something <= 11 является более прямым, и все это поймут. Вместо этого метод between должен быть просмотрен, если вы хотите знать, что он делает (или вам нужно было догадаться), и я думаю, что он не добавляет этого.