@eldar_web

Как в Ruby имея такой хэш сортировать по условию?

К примеру, есть такой хэш:
list { :plan => {1000, 3000, 100}, :present => {530, 700,85 }}


Нужно сортировать так - чем число present ближе к числу plan, тем она должна быть выше.
В нашем случае, таков должен быть ответ (порядок):
list { :plan => {100, 1000, 3000}, :present => {85, 530, 700 }}


Как можно делать такое?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Dem1
@Dem1 Куратор тега Ruby on Rails
Ruby on Rails developer
У Вас в каждом вопрос изначально заложена логика хэшей неверная, поэтому и страдаете.
arr = [ { plan: 1000, present: 530 }, { plan: 3000, present: 700 }, { plan: 100, present: 85 } ]
arr.sort_by {|v| v[:plan] - v[:present] }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Americor Москва
от 4 000 $
CodeX Нижний Новгород
от 30 000 до 80 000 ₽
26 нояб. 2024, в 13:05
450 руб./в час
26 нояб. 2024, в 12:58
30000 руб./за проект
26 нояб. 2024, в 12:56
1500 руб./в час