Сортировать массив ключей хешей - PullRequest
0 голосов
/ 06 мая 2019

Я ищу решение для сортировки хэш-ключей в массиве.

arr = [{"name"=>"Product Management", "id"=>647628}, {"name"=>"Sales", "id"=>647630}]

arr.each {|inner_hash| inner_hash.sort}

Ожидаемый результат:

[{"id"=>647628, "name"=>"Product Management"}, {"id"=>647630, "name"=>"Sales"}]

Ответы [ 2 ]

3 голосов
/ 06 мая 2019

Обычно вам не нужно сортировать хэши, но вы можете

arr.map { |h| h.sort.to_h }

# => [{"id"=>647628, "name"=>"Product Management"}, {"id"=>647630, "name"=>"Sales"}]
2 голосов
/ 06 мая 2019

вы можете использовать ruby ​​Hash#sort_by для сортировки элементов хэша:

arr.map { |inner_hash| inner_hash.sort_by(&:first).to_h }
>> [{"id"=>647628, "name"=>"Product Management"}, {"id"=>647630, "name"=>"Sales"}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...