J'ai un tableau d'objets en Ruby on Rails. Je veux trier le tableau par un attribut de l'objet. Est-ce possible ?
Réponses
Trop de publicités?
Noah Davis
Points
959
Curt Sampson
Points
10866
Array#sort fonctionne bien, comme indiqué ci-dessus :
myarray.sort! { |a, b| a.attribute <=> b.attribute }
MAIS, vous devez vous assurer que les <=>
est mis en œuvre pour cet attribut. S'il s'agit d'un type de données natif de Ruby, ce n'est pas un problème. Sinon, écrivez votre propre implémentation qui renvoie -1 si a < b, 0 s'ils sont égaux et 1 si a > b.
John Nolan
Points
16633
Oui, c'est possible
http://ariejan.net/2007/01/28/ruby-sort-an-array-of-objects-by-an-attribute/
Harisankar P S
Points
1
- Réponses précédentes
- Plus de réponses