如何在数组中找到唯一值。
例如:
my_array = [2,4,4,5,5,7]
在上面的数组中有两个唯一值2和7,我想知道自定义或其他方法将这些唯一值分配给变量。
答案 0 :(得分:3)
使用array.group_by
。
my_array.group_by{|v| v}.delete_if{|k,v| v.length > 1}.keys
或者
my_array.group_by{|v| v}.select{|k,v| v.length == 1}.keys
答案 1 :(得分:2)
这可能有点长腿,但要完成工作
my_array.each_with_object(Hash.new(0)){|x,h| h[x] += 1}.select{|k,v| v == 1}.keys