我有两个数组,array1
和 array2
,如下:
array1 = [ obj11, obj21, obj31 ]
array2 = [ obj21, obj22, obj23 ]
两个数组中的对象来自同一个类。我想检查是否 array1
包含已存在于 array2
中的对象并删除它们。
假设obj11
和 obj22
是平等的。我所说的“相等”是指它们具有相似的属性值。然后我想删除obj11
来自 array1
, 然后插入 obj21
和 obj31
在array2
.
我已经为来自 here 的对象类中的属性定义了相等性:
def ==(other)
return self.a == other.a && self.b == other.b
end
结果数组将是:
array2 = [ obj21, obj22, obj23, obj21, obj31 ]
最佳答案
您也可以使用 Array#|
(它执行联合操作)来删除重复项。
array1 = ["dog", "cat", "had"]
array2 = ["big", "fight", "had"]
array1 | array2
# => ["dog", "cat", "had", "big", "fight"]
关于arrays - 删除数组中的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706369/