在 Ruby 数组中查找值
Nurudeen Ibrahim
2022年5月18日
在 Ruby 数组中查找值的最佳方法是使用 find
或 detect
方法;两者都是别名,可以互换使用。它们接受块参数并返回满足块中指定的任何给定条件的第一个值。
下面的示例在 2
到 4
的数组中查找奇数。
示例代码:
numbers = [2, 3, 4]
odd_number = numbers.find { |n| n.odd? }
puts odd_number
输出:
3
示例代码:
numbers = [2, 3, 4]
odd_number = numbers.detect { |n| n.odd? }
puts odd_number
输出:
3
在数组中查找值的另一种方法是使用 select
方法。
虽然效率不高,但值得一提。它效率低下,因为它遍历我们正在搜索的整个数组,无论我们要查找的值是在数组的开头还是结尾,这与 find
和 detect
不同,它们在找到后立即停止迭代价值。
还值得一提的是,select
方法旨在搜索多个值并将它们作为数组返回。假设我们在上面的例子中期望有多个奇数,那么 select
将是一个首选的方法。
示例代码:
numbers = [2, 3, 4, 5]
odd_numbers = numbers.select { |n| n.odd? }
puts odd_numbers
输出:
[3, 5]