在 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]