如何从Ruby中的给定数组中删除重复的对值?

Raj*_*han 3 ruby

我想从字符串数组中删除一对“重复项”,其中每个元素的形式都R1,R2不同。在我的情况下,重复项是R2,R1因为它具有与相同的元素,R1,R2但取反了。

鉴于:

a = ['R1,R2', 'R3,R4', 'R2,R1', 'R5,R6']
Run Code Online (Sandbox Code Playgroud)

结果数组应如下所示:

a = ['R1,R2', 'R3,R4', 'R5,R6']
Run Code Online (Sandbox Code Playgroud)

如何删除重复项,以便获得以下内容?

BTL*_*BTL 5

这是一个工作示例:

array = ['R1,R2', 'R3,R4', 'R2,R1', 'R5,R6']

array.uniq { |a| a.split(',').sort }
Run Code Online (Sandbox Code Playgroud)


Urs*_*sus 5

一个解决方案 Set

require 'set' 

a.uniq { |item| Set.new(item.split(",")) }  # => ["R1,R2", "R3,R4", "R5,R6"]
Run Code Online (Sandbox Code Playgroud)