我需要從每個字串中單獨取出每個重復項,而不是從整個陣列中取出。基本上我正在尋找的是.uniq陣列中的每個字串,而不是整個陣列。
例子:
array = ["abc", "abc", "xxzzyyww", "aaaaa"]
預期輸出:
["abc", "abc", "xzyw", "a"]
我嘗試使用array.uniq,array.each.uniq但他們沒有單獨考慮每個字串,他們正在檢查整個字串是否在陣列中重復,因此它給了我以下輸出:
["abc", "ab", "xxzzyyww", "aaaaa"]
uj5u.com熱心網友回復:
使用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"]
uj5u.com熱心網友回復:
輸入
array = ["abc", "abc", "xxzzyyww", "aaaaa"]
代碼
p array.map { _1.chars.uniq.join }
輸出
["abc", "abc", "xzyw", "a"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/334369.html
