Matching arrays within arrays


#1

Hello,

I have a number of arrays within arrays. Some of them are duplicatess
like:

[[foo, bar, ru, by], [ru], [bar, foo], [foo, bar, ru, by]]

I would like to remove duplicates to end up with:

[[foo, bar, ru, by], [ru], [bar, foo]]

Is there a Ruby function to do this?

Cheers,


#2

Nick B. wrote:

Is there a Ruby function to do this?

irb(main):007:0> [[‘foo’, ‘bar’, ‘ru’, ‘by’], [‘ru’], [‘bar’, ‘foo’],
[‘foo’, ‘bar’, ‘ru’, ‘by’]].uniq
=> [[“foo”, “bar”, “ru”, “by”], [“ru”], [“bar”, “foo”]]


#3

Nick B. wrote:

Is there a Ruby function to do this?

uniq will work. It doesn’t matter what type of object the members of the
array are, so it can be used for an array of arrays.

irb> [[‘foo’, ‘bar’, ‘ru’, ‘by’], [‘ru’], [‘bar’, ‘foo’], [‘foo’, ‘bar’,
‘ru’, ‘by’]].uniq
=> [[“foo”, “bar”, “ru”, “by”], [“ru”], [“bar”, “foo”]]


#4

Cheers!