どうも、ちょげ(@chogetarou)です。
ハッシュ(Hash)の値(value)の重複を削除する方法を紹介します。
方法

ハッシュ(Hash)の値(value)の重複を削除するには、uniqメソッドを使います。
まず、ハッシュからto_aメソッド、to_aメソッドからuniqメソッドを呼び出します。
uniqメソッドに、第2引数を返すブロックを渡します。
そして、uniqメソッドからto_hメソッドを呼び出します。
#hash=対象のハッシュ
result = hash.to_a
.uniq { |_, v| v }
.to_h
上記のto_hメソッドは、対象のハッシュ(Hash)の値(value)の重複を削除します。
使用例
numbers = {
"one" => 1,
"いち" => 1,
"一" => 1,
"two" => 2,
"three" => 3,
"さん" => 3,
"four" => 4,
"よん" => 4,
"five" => 5,
}
result = numbers.to_a
.uniq { |_, v| v }
.to_h
puts result
出力:
{"one"=>1, "two"=>2, "three"=>3, "four"=>4, "five"=>5}
コメント