删除“重复对象”

2024-01-25

假设我有一个来自同一类的对象数组,其中有两个值得关注的属性:name 和created_at。

如何在数组中找到同名的对象(视为重复),然后删除数据库中的重复记录。然而,具有最近的created_at 日期的对象是必须删除的对象。


seen = []
#sort by created date and iterate
collection.sort({|a,b| a.created_at <=> b.created_at}).each do |obj| 
  if seen.map(&:name).include? obj.name #check if the name has been seen already
    obj.destroy!
  else
    seen << obj #if not, add it to the seen array
  end
end

应该有希望完成这项工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除“重复对象” 的相关文章

随机推荐