2013-01-11 7 views
12

coffeescriptには、配列にいくつかの項目がある場合にtrueを返すメソッドがありますか?ルビーpresent?での方法と同様:配列にcoffeescriptのいくつかの項目があるかどうかを調べる

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

のCoffeeScriptの配列の虚しさは、その長さ

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

によって決定されるhttp://arcturo.github.com/library/coffeescript/07_the_bad_parts.htmlによると、私にはとてもラメ思われます。

答えて

23

私はそこにあるとは思いませんが、することができます:

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

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

非常にシンプルかつ不完全な実装が、それはあなたにいくつかのアイデアを与える必要があります。そして記録のために、Rubyにはpresent?メソッドがありません。メソッドはactive_support gemによって追加されます。

+0

おかげで、私は現在 'ことを実現していなかった?'私は、空の 'のために行くだろう明確にするために宝石の方法 – mirelon

+3

である()'( '空?'ルビーのように)。やや怪しげなIMHO。 – Cimm

+0

@Cimm私は両方ともRubyのArrayクラスのメソッドだと思っていますが、どちらも共通しています。 – Vortico

6

残念ながら、ありません。それを行う最善の方法は、その長さを比較することです。

1

inを使ってもいいと思います。

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

Output 
$ present 
関連する問題