13

当数组中有一些项目时,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

这对我来说似乎很蹩脚。

4

3 回答 3

23

我认为没有但可以:

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

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

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

于 2013-01-11T13:37:01.040 回答
6

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

于 2013-01-11T13:28:13.713 回答
0

我认为使用in也有效。

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

Output
$ present
于 2015-12-11T11:27:48.453 回答