Search code examples
rubyruby-hash

Sort Array of Hashes Keys


I am looking for a solution to sort the Hash keys in an Array.

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

arr.each {|inner_hash| inner_hash.sort}

Expected Result:

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

Solution

  • Basically you don't need to sort hashes, but you can

    arr.map { |h| h.sort.to_h }
    
    # => [{"id"=>647628, "name"=>"Product Management"}, {"id"=>647630, "name"=>"Sales"}]