Saya memiliki hash balasan yang ingin saya urutkan berdasarkan hitungan. Masalah yang saya temui adalah bahwa fungsi Hash.sort default mengurutkan angka seperti string daripada berdasarkan ukuran angka.
yaitu Given Hash:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Menjalankan kode ini:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
akan mengembalikan array yang diurutkan:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Meskipun 745 adalah jumlah yang lebih besar dari 9, 9 akan muncul pertama dalam daftar. Ketika mencoba untuk menunjukkan siapa yang memiliki hitungan teratas, ini membuat hidup saya sulit. :)
Ada ide tentang cara mengurutkan hash (atau bahkan array) dengan ukuran nilai angka?
Saya menghargai bantuan apa pun.