Probabilmente c'è una risposta molto semplice a questa domanda, ma non posso per la vita di me capirlo al momento. Se ho un array di ruby di un certo tipo di oggetti, e hanno tutti un campo particolare, come faccio a trovare l'elemento dell'array che ha il valore più grande per quel campo?Trovare l'elemento di una matrice di Ruby con il valore massimo per un particolare attributo
risposta
array.max_by do |element|
element.field
end
Oppure:
array.max_by(&:field)
Controllare la documentazione del modulo Enumerable per ulteriori metodi utili. –
Questo aiuto?
my_array.max {|a,b| a.attr <=> b.attr }
(presumo che il campo ha nome attr
)
Sì, questo è esattamente quello che stavo cercando per, stava setacciando la api di Array e non riusciva a trovare nulla, dimentica di controllare l'api per Enumberable, grazie! –
Controllare sempre l'API Enumerable. Ha tutto il necessario * e * il lavello della cucina! –
Preferisco usare 'max_by' perché è più semplice da usare: il blocco accetta un solo argomento e non è necessario utilizzare esplicitamente l'operatore spaziale (' <=> '). –
È inoltre possibile ordinare l'array e quindi ottenere max, min, il secondo più grande valore, ecc
array = array.sort_by {|k,v| v}.reverse
puts hash[0]["key"]
Se stai semplicemente andando al minimo o al massimo, gli algoritmi sono 'O (n)'. L'ordinamento è minimo 'O (n log n)'. Non utilizzare questo a meno che non sia necessario, in quanto vi sono alcune perdite di prestazioni inutili. – Jamie
- 1. Esiste un codice a una riga per trovare il valore massimo in una matrice?
- 2. Trovare il valore massimo massimo di scrollTop su un div?
- 3. Trovare il massimo comun divisore di una matrice in MATLAB
- 4. Funzione C++ per trovare il valore massimo in una matrice di doppi?
- 5. Jquery: ottieni il valore massimo in una matrice di numeri
- 6. Trova il valore massimo in una matrice per ricorsione
- 7. Trovare il valore massimo e minimo di ogni colonna e poi trovare il valore massimo e minimo di ogni riga
- 8. Regex: come trovare il valore intero massimo di un pattern?
- 9. Trovare tutte le classi con un particolare attributo
- 10. Come posso trovare un valore particolare in una matrice e restituire il suo indice?
- 11. Trovare un valore enum con Descrizione Attributo
- 12. ordinamento di una matrice ruby di oggetti con un attributo che potrebbe essere nil
- 13. Trovare il massimo di una funzione
- 14. Come nome della colonna che contiene un valore massimo in una riga di una matrice che contiene un valore massimo separato all'interno di una matrice
- 15. Trovare il valore minimo del cluster massimo?
- 16. modo Modello di trovare valore massimo consentito
- 17. Come trovare l'indice di un array che ha un valore massimo
- 18. Come ottenere il numero massimo di una lunghezza particolare
- 19. MongooseJS - Come trovare l'elemento con il valore massimo?
- 20. LINQ: Ottenere la riga con il valore massimo di un determinato attributo
- 21. Trovare il valore massimo assoluto preservando + o - simbolo
- 22. DataAnnotations StringLength Attributo MVC - senza valore massimo
- 23. Come trovare il valore massimo del set di variabili
- 24. Come trovare l'ultima occorrenza del valore massimo in un numpy.ndarray
- 25. jQuery: trova l'elemento con un particolare attributo personalizzato
- 26. script di shell: trovare il valore massimo in una sequenza di numeri interi senza ordinare
- 27. Prendi l'oggetto con il valore massimo di un campo [Mongoid]
- 28. Ordinamento di una matrice di oggetti in Ruby per attributo oggetto?
- 29. Come trovare il valore massimo per ogni chiave in un elenco di dizionari utilizzando LINQ?
- 30. Come posso usare XPath per trovare il valore minimo di un attributo in un insieme di elementi?
possibile duplicato di [Altro versione concisa di max/min senza il blocco] (http://stackoverflow.com/questions/7087717/more-concise-version-of-max-min-without-the-block) –