Ruby – Sort hash by key, return hash in Ruby

hashmaprubysorting

Would this be the best way to sort a hash and return Hash object (instead of Array):

h = {"a"=>1, "c"=>3, "b"=>2, "d"=>4}
# => {"a"=>1, "c"=>3, "b"=>2, "d"=>4}

Hash[h.sort]
# => {"a"=>1, "b"=>2, "c"=>3, "d"=>4}

Best Answer

In Ruby 2.1 it is simple:

h.sort.to_h