Uniq by object attribute in Ruby

前端 未结 14 1892
我寻月下人不归
我寻月下人不归 2020-11-30 23:20

What\'s the most elegant way to select out objects in an array that are unique with respect to one or more attributes?

These objects are stored in ActiveRecord so us

14条回答
  •  情话喂你
    2020-11-30 23:47

    ActiveSupport implementation:

    def uniq_by
      hash, array = {}, []
      each { |i| hash[yield(i)] ||= (array << i) }
      array
    end
    

提交回复
热议问题