對於這個問題可能有一個非常簡單的答案,但我現在無法在我的生活中找出答案。如果我有一個特定類型的對象的紅寶石數組,並且它們都有一個特定的字段,我如何找到該數組中具有該字段最大值的元素?查找具有特定屬性的最大值的Ruby數組的元素
回答
array.max_by do |element|
element.field
end
或者:
array.max_by(&:field)
查看Enumerable模塊的文檔以獲取更多有用的方法。 –
這有幫助嗎?
my_array.max {|a,b| a.attr <=> b.attr }
(我假設你的字段有名稱attr
)
是的,這正是我正在尋找因爲在淘氣Array api並找不到任何東西,忘記檢查Enumberable的api,謝謝! –
始終檢查Enumerable API。它擁有你需要的一切*和*廚房水槽! –
我更喜歡使用'max_by',因爲它使用更簡單:該塊只需要一個參數,並且不必明確使用太空船('<=>')運算符。 –
您也可以排序數組,然後獲得最大值,最小值,第二大值等
array = array.sort_by {|k,v| v}.reverse
puts hash[0]["key"]
如果你只是最小或最大,算法是'O(n)'。排序至少爲'O(n log n)'。除非需要,否則不要使用它,因爲有一些不必要的性能損失。 – Jamie
- 1. 如何查找具有特定數據屬性值的元素
- 2. XPath - 找到具有特定屬性值的最低元素
- 3. 查找具有以下屬性的元素:特定屬性和具有特定文本的子元素
- 4. 如何查找具有特定值的特定屬性的元素
- 5. Ruby在多維數組中使用max_by查找具有最大值的元素
- 6. 查找具有最大和最小元素數的數組
- 7. jQuery:查找具有特定自定義屬性的元素
- 8. 硒查找具有特定屬性的所有元素
- 9. Java Stream:找到具有屬性的最小值/最大值的元素
- 10. 如何找到具有特定屬性值的子元素
- 11. 在xml中查找具有特定屬性的元素?
- 12. XSLT - 具有最大屬性值的元素,其列表中的其他元素的屬性值最大
- 13. XPath查找具有屬性的元素
- 14. 具有特定屬性的select元素
- 15. PHP:在數組中查找具有一定屬性值的元素
- 16. 尋找最接近的,具有特定數據屬性的元素jquery
- 17. JQuery:選擇具有特定數據屬性值的元素?
- 18. 與具有屬性最大值的元素匹配的XPath
- 19. 使用JavaScript查找具有給定屬性值的xml元素的值只有
- 20. 樣式具有特定計算的css屬性值的元素數組
- 21. jQuery的 - 查找具有自定義屬性元素的錶行
- 22. jQuery找到具有某些屬性的非特定元素
- 23. 查找具有最小位置的數組中的最大元素
- 24. 根據屬性查找特定元素
- 25. 在多個文件中查找特定屬性的最大值
- 26. 在Enumerable中查找具有最大屬性值的項目
- 27. 查找具有特定屬性值的所有標籤
- 28. Symfony的DomCrawler:查找具有特定屬性值的
- 29. Watir - 查找具有屬性值的特定孩子的父div
- 30. 如何選擇具有最大特定屬性的SQL中的元組
可能重複的[更多簡潔的版本的最大/最小值沒有塊](http://stackoverflow.com/questions/7087717/more-concise-version-of-max-min-without-the-block) –