比较结构数组,并删除重复

时间:2010-05-18 00:20:08

标签: ruby-on-rails arrays struct duplicate-removal

我有两个结构数组。

array_of_structs1
array_of_structs2

对于上下文信息,struct类看起来像这样:

class Leader < Struct.new(:rank, :user); end

我想从 array_of_structs1 中删除重复的用户。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解。如果要删除array_of_struct1中具有相同用户的重复结构,请使用:

array_of_structs1 = Hash[*array_of_structs1.map {|obj| [obj.user, obj]}.flatten].values

如果您不想从array1中删除也在数组2中的条目

array_of_structs1 = array_of_structs1 - array_of_struct2