Ruby Hash: упорядочение хеша на основе значений (которые являются массивами значений) - PullRequest
3 голосов
/ 21 мая 2011

Я хочу вернуть новый хеш на основе переупорядочения значений в хэше.Сами значения являются массивами целых.

Например:

hsh = {"c2" => [44,2], "c1" => [11,33], "c9" => [23,7]}

Я хотел бы иметь возможность возвращать переупорядоченный хеш на основе значения 0 или значения 1 в значениях.

Любая помощь здесь очень ценится - спасибо всем.

1 Ответ

5 голосов
/ 21 мая 2011

Исходя из характера вопроса, я предполагаю, что это для рубина 1.9.

p Hash[hsh.sort_by{|k, v| v[0]}]
# => {"c1"=>[11, 33], "c9"=>[23, 7], "c2"=>[44, 2]}

p Hash[hsh.sort_by{|k, v| v[1]}]
# => {"c2"=>[44, 2], "c9"=>[23, 7], "c1"=>[11, 33]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...