Wie führe ich eine komplexe benutzerdefinierte Sortierung in Ruby durch?

8

Ich habe ein Array, das wie folgt aussieht:

%Vor%

Ich muss diese nach type gruppieren und dann nach aufsteigendem price sortieren. Ich kann dieses Problem zur Hälfte lösen, indem ich Folgendes tue:

%Vor%

Leider werden die type s alphabetisch sortiert, wenn sie nach BADC

sortiert werden sollen

Wie sortiere ich das Array nach den vorgegebenen Regeln?

    
purinkle 14.11.2011, 13:19
quelle

3 Antworten

14
%Vor%

Ausgabe:

%Vor%     
steenslag 14.11.2011, 13:38
quelle
2

[Bearbeiten] Die Frage ist nicht klar. Das ist, was ich verstehe: Bestellkarten von price ASC , aber für Boards des gleichen Typs, nur die billigsten bekommen. Facetten Abstraktion verwenden Enumerable # uniq_by (auch in ActiveSupport: Array # uniq_by ):

%Vor%

Ausgabe:

%Vor%     
tokland 14.11.2011 13:31
quelle
1

Wenn Sie den Begriff "Gruppe durch" verwenden, verwirren Sie die Leute.

Wenn Sie nach Typ sortieren möchten, und wenn Typ gleich ist, dann nach Preis sortieren, können Sie dies tun:

%Vor%

Wenn nicht, müssen Sie besser erklären, was Sie wollen. : -)

    
sheldonh 14.11.2011 14:21
quelle

Tags und Links