在 Ruby 陣列中查詢值

Nurudeen Ibrahim 2022年5月18日
在 Ruby 陣列中查詢值

在 Ruby 陣列中查詢值的最佳方法是使用 finddetect 方法;兩者都是別名,可以互換使用。它們接受塊引數並返回滿足塊中指定的任何給定條件的第一個值。

下面的示例在 24 的陣列中查詢奇數。

示例程式碼:

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 方法。

雖然效率不高,但值得一提。它效率低下,因為它遍歷我們正在搜尋的整個陣列,無論我們要查詢的值是在陣列的開頭還是結尾,這與 finddetect 不同,它們在找到後立即停止迭代價值。

還值得一提的是,select 方法旨在搜尋多個值並將它們作為陣列返回。假設我們在上面的例子中期望有多個奇數,那麼 select 將是一個首選的方法。

示例程式碼:

numbers = [2, 3, 4, 5]
odd_numbers = numbers.select { |n| n.odd? }
puts odd_numbers

輸出:

[3, 5]

相關文章 - Ruby Array