@eldar_web

Как в Ruby можно отсортировать хэш по одному условию?

К примеру, есть хэш list:
list[
{ "plan": 100, 'present': 40 }
{ "plan": 100, 'present': 85 }
{ "plan": 100, 'present': 60 }
]


Как можно отсортировать таким образом, когда значение present ближе к plan по числовому значению, чтобы он был выше? В нашем случае, второй должен быть первым, третий - вторым и первый последним.
  • Вопрос задан
  • 221 просмотр
Решения вопроса 2
@vsuhachev
list.sort { |a,b| a['plan']-a['present'] <=> b['plan']-b['present'] }
Ответ написан
stackoverflow.com/questions/5483889/how-to-sort-an...
Это первая ссылка гугла по запросу: "ruby array of hashes sort".
По убыванию будет:
array_of_hashes.sort_by { |hsh| hsh[:zip] }.reverse
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы