How can I group this array of hashes?

后端 未结 3 1830
陌清茗
陌清茗 2021-02-01 02:12

I have this array of hashes:

- :name: Ben
  :age: 18
- :name: David
  :age: 19
- :name: Sam
  :age: 18

I need to group them by age

3条回答
  •  刺人心
    刺人心 (楼主)
    2021-02-01 02:29

    out = {}
    array_of_hashes.each do |a_hash|
      out[a_hash[:age]] ||= []
      out[a_hash[:age]] << a_hash
    end
    

    or

    array.group_by {|item| item[:age]}
    

提交回复
热议问题