おそらく、この質問には非常に簡単な答えがありますが、私の人生は現時点では理解できません。特定のタイプのオブジェクトのルビ配列があり、それらがすべて特定のフィールドを持っている場合、そのフィールドの最大値を持つ配列の要素を見つけるにはどうすればよいですか?特定の属性の最大値を持つRuby配列の要素を見つける
答えて
array.max_by do |element|
element.field
end
か(私はあなたのフィールドに名前attr
を持っていると仮定します) 。
array = array.sort_by {|k,v| v}.reverse
puts hash[0]["key"]
Enumerableモジュールのドキュメントを参照して、より便利なメソッドを確認してください。 –
これは役に立ちますか?
array.max_by(&:field)
はい、まさに私が探していたものですのために、配列のAPIを精練していた何かを見つけることができませんでした、EnumberableのAPIをチェックすることを忘れて、ありがとう! –
常にEnumerable APIをチェックしてください。それはあなたが必要とするすべてを持っています*と*キッチンシンク! –
私は 'max_by'を使うのが好きです。なぜなら、ブロックは単一の引数しか取らず、宇宙船(' <=> ')演算子を明示的に使う必要がないからです。 –
あなたはまた、配列をソートして、MAX、MIN、二番目に大きい値などを取得できます。
my_array.max {|a,b| a.attr <=> b.attr }
最小値または最大値の場合は、アルゴリズムは 'O(n)'です。ソートは最小では 'O(n log n)'です。不必要なパフォーマンスの低下があるので、必要な場合以外はこれを使用しないでください。 – Jamie
- 1. 特定のデータ属性値を持つ要素を見つける方法
- 2. 特定の値を持つ特定の属性を持つ要素を見つける方法
- 3. jQuery:特定のカスタム属性を持つ要素を見つける
- 4. 最大の属性を持つノードを見つけるxpath
- 5. XSLT:XPathの特定の属性値を持つ選択要素
- 6. 配列の最小要素と最大要素を見つける方法は?
- 7. JPA CriteriaBuilderは、コレクションに特定の属性を持つ要素を持つエンティティを見つけます。
- 8. 特定の値を持つ属性を持つ要素に属性を追加する
- 9. 繰り返し要素を持つ配列内の最大値を見つける
- 10. 特定の属性を持つ要素の子である祖先を見つける方法は?
- 11. 配列から最小値と最大値を見つける
- 12. 属性とオプションの値を持つ要素を定義する
- 13. 特定の属性を持つ要素を返すJDOM
- 14. 属性に基づいて特定の要素を見つける
- 15. 配列のサブセットの最大値を見つける
- 16. SimpleXML:特定の属性値を持つ要素を選択する
- 17. 特定の属性を持つすべてのクラスを見つける
- 18. 特定のタグ(属性)を持つビューのリストを見つける方法
- 19. symfonyのDomCrawler:特定の属性値を持つ要素を検索し
- 20. CasperJSで特定の形式の変数属性値を持つ要素をクリック
- 21. 配列内の最小要素の位置を見つける
- 22. Ruby:最小配列要素のインデックスを見つける方法は?
- 23. 配列の最大値を見つける方法は?
- 24. 循環ソート配列の最小要素を見つける
- 25. 配列内の最小要素を見つける再帰アルゴリズム
- 26. xpath特定のルートの特定の名前を持つすべての属性を見つける
- 27. 大きなXML文書の特定の属性を見つける
- 28. 特定の値を持つデータセット内の列のインデックスを見つける
- 29. 配列内の要素を比較し、要素の最大合計を見つける
- 30. jQuery - jsonの特定の属性を見つける
[Moreブロックのない最大/最小の簡潔なバージョン](http://stackoverflow.com/questions/7087717/more-concise-version-of-max-min-without-the-block) –