Ich habe einen Zähler-Hash, den ich nach Zählung sortieren möchte. Das Problem, auf das ich stoße, ist, dass die Standardfunktion Hash.sort Zahlen eher nach Zeichenfolgen als nach Zahlengröße sortiert.
dh gegebener Hash:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Ausführen dieses Codes:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
gibt ein sortiertes Array zurück:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Obwohl 745 eine größere Zahl als 9 ist, wird 9 zuerst in der Liste angezeigt. Wenn ich versuche zu zeigen, wer die höchste Punktzahl hat, macht mir das das Leben schwer. :) :)
Irgendwelche Ideen, wie man einen Hash (oder sogar ein Array) nach der Größe des Zahlenwerts sortiert?
Ich freue mich über jede Hilfe.