保留数组的第一个匹配元素

Iai*_*inK 1 ruby arrays

我有一个数组如下:

['a=1', 'b=2', 'a=2']
Run Code Online (Sandbox Code Playgroud)

我想过滤数组,使元素相对于它们的第一个字符是唯一的.我想要结果:

['a=1', 'b=2']
Run Code Online (Sandbox Code Playgroud)

关于以上,["a", "b", "a"]成为["a", "b"].

所有帮助表示赞赏.

Phl*_*lip 5

这是来自Array#uniq的评论文档:

b = [["student","sam"], ["student","george"], ["teacher","matz"]]
b.uniq { |s| s.first } # => [["student", "sam"], ["teacher", "matz"]]
Run Code Online (Sandbox Code Playgroud)

因此,似乎b.uniq{ |s| s[0] }每个字符串的第一个字符都是唯一的数组.