如何在数组Ruby中对对象进行分组

che*_*ell 1 ruby ruby-on-rails-3

我有一系列经理用户.

但是有重复的用户.

我想将它们分组,以便阵列中每个用户只有一个实例.

最好的方法是什么?

@managers.sort_by{|obj| obj.id} # Just sorted the data but did not eliminate duplicats

@managers.group_by{|u|u.name}    # just created a bunch of arrays for each name
Run Code Online (Sandbox Code Playgroud)

Don*_*oby 6

使用该uniq方法,该方法返回一个删除了重复项的新数组.

@managers.uniq
Run Code Online (Sandbox Code Playgroud)

  • 或@ managers.uniq!它修改了现有的数组. (2认同)