检查数组是否在coffeescript中有一些项目

时间:2013-01-11 13:17:01

标签: arrays coffeescript

当coffeescript中有一些方法在数组中包含一些项时返回true吗?像ruby present?中的方法一样:

[].present? false
[1].present? true

根据http://arcturo.github.com/library/coffeescript/07_the_bad_parts.html,coffeescript中的数组空虚由其长度决定

alert("Empty Array")  unless [].length

对我来说似乎很蹩脚。

3 个答案:

答案 0 :(得分:23)

我认为不存在但可以:

Array::present = ->
  @.length > 0

if [42].present()
  # why yes of course
else
  # oh noes

一个非常简单和不完整的实现,但它应该给你一些想法。并且为了记录,Ruby中没有present?方法,该方法由active_support gem添加。

答案 1 :(得分:6)

不幸的是,没有。最好的方法是比较它的长度。

答案 2 :(得分:0)

我认为使用in也可以。

arr = [1, 2, 3, 4, 5]
a = 1
if a in arr
  console.log 'present'
else
  console.log 'not present'

Output
$ present