0

我有:

a = [1,2,3,4,5,4,3,2,1]
a.select{|x| x > 3} #=> [4, 5, 4]

我想要的是“4”,第一个仅适用于条件的元素。我知道我可以这样做:

a.select{|x| x > 3}.first #=> 4

但这是我最好的选择吗?该select方法将遍历所有元素。有没有更有效的方法来应用它?

4

2 回答 2

3

使用find代替select

a.find { |x| x > 3 } # => 4
于 2013-10-13T12:59:50.960 回答
1

它在这里使用Enumerable#find

a = [1,2,3,4,5,4,3,2,1]
a.find{|x| x > 3}
# => 4
于 2013-10-13T12:59:45.850 回答