8

只是想知道类似于 JavaScript 中的 indexOf 的 Array 对象是否有相同的方法?

例如:

arr = %w{'a', 'b', 'c'}
c = 'c'
如果 (arr.indexOf(c) != -1)
// 做一些事情
别的
// 不要做一些事情
4

4 回答 4

11

这是.indexArray的方法。

http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-index

在 ruby​​ 中,只有falseandnil被认为是错误值,所以你可以这样做:

arr = %w{a, b, c}
c = 'c'
if arr.index c
  # do something
else 
  # do something else
end 
于 2012-09-27T08:17:04.363 回答
4

如果要检查数组中是否存在元素,可以使用include?

if arr.include?(c)
  # do stuff
else 
  # don’t
end
于 2012-09-27T08:17:52.717 回答
2

为此使用 Array#index:

c = 'c'
%w{a b c}.index(c)
于 2012-09-27T08:16:10.720 回答
0
if arr.last == c
  # do some stuff
else
  # don't do some stuff
end
于 2012-09-27T08:24:17.290 回答