我需要从每个字符串单独取出每个重复,但不是从整个数组中取出。基本上,我要寻找的是数组内每个字符串的.uniq
,而不是整个数组。
的例子:
array = ["abc", "abc", "xxzzyyww", "aaaaa"]
预期输出:
["abc", "abc", "xzyw", "a"]
我尝试使用array.uniq
和array.each.uniq
,但他们没有单独考虑每个字符串,他们正在检查字符串作为一个整体是否在数组中重复,所以它给了我以下输出:
["abc", "ab", "xxzzyyww", "aaaaa"]
使用string#squeeze
(https://apidock.com/ruby/String/squeeze)
array = ["abc", "abc", "xxzzyyww", "aaaaa"]
# => ["abc", "abc", "xxzzyyww", "aaaaa"]
array.map {|x| x.squeeze }
# => ["abc", "abc", "xzyw", "a"]
输入
array = ["abc", "abc", "xxzzyyww", "aaaaa"]
代码p array.map { _1.chars.uniq.join }
输出["abc", "abc", "xzyw", "a"]