@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] }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы