如何在数组中找到唯一值并将它们分配给ruby中的变量

时间:2017-10-31 21:24:03

标签: arrays ruby

如何在数组中找到唯一值。

例如:

my_array = [2,4,4,5,5,7]

在上面的数组中有两个唯一值2和7,我想知道自定义或其他方法将这些唯一值分配给变量。

2 个答案:

答案 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