我有以下代码。
for i in 0..sold.length-1
duplicate = sold[i]
print duplicate.check_duplicates
print " "
print sold[i].lotnumber + "\t"
print sold[i].serialnumber
end
这将打印
1 29371 43
1 13797 6
1 08114 55
1 70657 106
1 32741 74
2 07272 103
2 07272 103
1 37416 14
1 05153 177
1 54338 115
3 74522 171
3 74522 171
3 74522 171
我如何删除重复项(3 74522 171和2 07272 103),因此每项只有1项?
答案 0 :(得分:2)
uniq_solds = sold.collect{|s| [s.check_duplicates, s.lotnumber, s.serialnumber]}.uniq
uniq_solds.each do |s|
p s.join(" ")
end
答案 1 :(得分:1)
group_by方法产生的哈希可以用作计数设备;这不使用check_duplicates
方法。
grouped = sold.group_by{|item| [item.lotnumber, item.serialnumber]}
grouped.each{|key, value| puts "#{value.size} #{key.first}\t#{key.last}"}
答案 2 :(得分:0)