Next key/value pair overwrites the existing pair in a hash while trying to add pair with new key
问题 I have: fruits = { "orange" => {:season => "winter"}, "apple" => {:season => "winter"}, "banana" => {:season => "summer"}, "grape" => {:season => "spring"}, "peach" => {:season => "winter"}, "pineapple" => {:season => "summer"} } I want to get: { "winter"=>["orange", "apple", "peach"], "summer"=>["banana", "pineapple"], "spring"=>["grape"] } I did: def sort_fruits(fruits_hash) fruits=[] sorted = {} seasons = fruits_hash.map {|k, v|v[:season]} seasons.uniq.each do |season| fruits.clear fruits