Задать вопрос
@niks123123

Как сортировать данные массива по хешу?

Доброго времени суток!
Помогите пожалуйста осуществить корректную сортировку по хешу. Имеется примерно такой массив:
[{"nr"=>"number", "brand"=>"brand", "name"=>"name", "stock"=>"45", "delivery"=>1, "minq"=>"1", "upd"=>"14.07.16 15:59", "price"=>"992.81", "currency"=>"руб."}, 
{"nr"=>"number", "brand"=>"brand", "name"=>"name", "stock"=>"2", "delivery"=>0, "minq"=>"1", "upd"=>"14.07.16 16:42", "price"=>"1556.64", "currency"=>"руб."}, 
{"nr"=>"number", "brand"=>"brand", "name"=>"name", "stock"=>"5", "delivery"=>1, "minq"=>"1", "upd"=>"14.07.16 15:59", "price"=>"1556.83", "currency"=>"руб."}, 
{"nr"=>"number", "brand"=>"brand", "name"=>"name", "stock"=>"5", "delivery"=>1, "minq"=>"1", "upd"=>"14.07.16 15:59", "price"=>"1658.92", "currency"=>"руб."}]

Мне необходимо сортировать его по "price", сейчас осуществляю сортировку следующим образом:
for i in 0..array.length - 1
      for j in 0..array.length - i - 2
        if array[j + 1]["price"].to_i < array[j]["price"].to_i
          array[j], array[j + 1] = array[j + 1], array[j]
        end
      end
end

Обычная пузырьковая сортировка, но мне кажется, что возможно это сделать более рациональным методом.
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
array_of_hashes.sort_by { |hsh| hsh[:price] }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@chronic86
Ruby on Rails junior
Версия ruby?
Попробуйте так
array_of_hashes.sort_by(&:price)
Ответ написан
Ваш ответ на вопрос

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

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