如果所有元素在数组中相同,如何使数组唯一,Ruby?

时间:2014-05-22 09:37:07

标签: ruby

使用Ruby 2.0

if

array_a = [360,370,360,350,360,360,360]

output : array_a = [360,370,360,350,360,360,360]

if 

array_a = [360,360,360,360]

output : array_a = [360]

如果所有元素都相同,则只有唯一的数组才会出现,否则相同的数组。

我正在尝试实现这个逻辑但是不能提示吗?

2 个答案:

答案 0 :(得分:3)

您可以使用Array#uniq,检查结果数组的大小是否为1:

uniq_array_a = array_a.uniq
output = uniq_array_a.one? ? uniq_array_a : array_a

答案 1 :(得分:0)

您可以尝试array_a.uniq

例如:

a = [10, 20, 30, 10, 20] a.uniq # => [10, 20, 30]