1
У меня есть массив хэш вроде этого:Сортировать массив хэш в рубине
[{683=>5}, {689=>2}, {692=>10}]
Я хочу результат вроде этого:
[{692=>10}, {683=>5}, {689=>2}]
Может ли один помочь мне?
У меня есть массив хэш вроде этого:Сортировать массив хэш в рубине
[{683=>5}, {689=>2}, {692=>10}]
Я хочу результат вроде этого:
[{692=>10}, {683=>5}, {689=>2}]
Может ли один помочь мне?
Использование Enumerable#sort_by
. Возвращаемое значение блока используется в качестве ключа сравнения.
[{683=>5}, {689=>2}, {692=>10}].sort_by { |h| -h.values[0] }
# => [{692=>10}, {683=>5}, {689=>2}]
Попробуйте 'sort_by {| h | h.values [0]} .reverse! ', удивительно, что он слабее быстрее и немного яснее, ИМХО. – toro2k
@ toro2k, я просто попробовал его с фруктовым в Windows 7 64bit, ruby 2.0. Он говорит, что оба они похожи. – falsetru
На моем ящике Debian fruity сообщается о 10% -ной разнице, ну, кажется, это просто немного яснее ... :-) – toro2k