arrays - 删除数组中的重复元素

标签 arrays ruby

我有两个数组,array1array2 ,如下:

array1 = [ obj11, obj21, obj31 ]
array2 = [ obj21, obj22, obj23 ]

两个数组中的对象来自同一个类。我想检查是否 array1包含已存在于 array2 中的对象并删除它们。

假设obj11obj22是平等的。我所说的“相等”是指它们具有相似的属性值。然后我想删除obj11来自 array1 , 然后插入 obj21obj31array2 .

我已经为来自 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/

相关文章:

python - 像字典一样索引 NumPy 数组

ruby - 使用 savonrb 指定代理身份验证

ruby - 用循环创建多个变量?

python - 计算 numpy 数组中一行中重复元素的数量

php - PHP的数组类型作为数据结构有什么特点?

c - 通过多个函数访问数组

c - 如何从字符串中取出单词并将它们放入字符串数组中?在 C 中

ruby - 谷歌共享联系人 API

ruby-on-rails - 带有 check_box_tag 的 submit_tag 返回错误

ruby - 如何匹配不在两个特殊字符之间的正则表达式?