おそらく、この質問には非常に簡単な答えがありますが、私の人生は現時点では理解できません。特定のタイプのオブジェクトのルビ配列があり、それらがすべて特定のフィールドを持っている場合、そのフィールドの最大値を持つ配列の要素を見つけるにはどうすればよいですか?特定の属性の最大値を持つ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. 特定の値を持つカスタム属性を持つ要素を見つけて置き換えます
- 6. XSLT:XPathの特定の属性値を持つ選択要素
- 7. 配列の最小要素と最大要素を見つける方法は?
- 8. SQL:特定の値の最大値を持つ行を見つける方法
- 9. JPA CriteriaBuilderは、コレクションに特定の属性を持つ要素を持つエンティティを見つけます。
- 10. 最高と最低の要素数を持つ配列を見つける
- 11. 特定の値を持つ子の属性名を見つけよう
- 12. C++で配列要素の最大値を見つける方法は?
- 13. 特定の値を持つ属性を持つ要素に属性を追加する
- 14. 繰り返し要素を持つ配列内の最大値を見つける
- 15. 特定の属性を持つ要素の子である祖先を見つける方法は?
- 16. scrapy:特定のテキストを持つ要素を見つけよう
- 17. インデックスを持つ配列の最大部分配列を見つける
- 18. AppiumはJavaで特定の値を持つ子要素を見つける
- 19. 配列内の次の大きい要素を見つける
- 20. 特定の属性を持つ要素を返すJDOM
- 21. 属性とオプションの値を持つ要素を定義する
- 22. 属性に基づいて特定の要素を見つける
- 23. 特定の値の最大ランレングスを見つける
- 24. タプル要素の最大値を見つけるC++
- 25. 配列から最小値と最大値を見つける
- 26. 最大と4番目の最大要素を見つける
- 27. 別の配列の最大値に対応する配列内の要素を見つける
- 28. 特定のタグ(属性)を持つビューのリストを見つける方法
- 29. 特定の属性を持つすべてのクラスを見つける
- 30. SimpleXML:特定の属性値を持つ要素を選択する
[Moreブロックのない最大/最小の簡潔なバージョン](http://stackoverflow.com/questions/7087717/more-concise-version-of-max-min-without-the-block) –