在Ruby中,可以使用uniq
方法對哈希中的鍵和值進行去重。以下是一些示例:
hash = {a: 1, b: 2, c: 3, a: 4, d: 5}
unique_keys = hash.keys.uniq
puts unique_keys.inspect # 輸出: [:a, :b, :c, :d]
hash = {a: 1, b: 2, c: 3, a: 4, d: 5}
unique_values = hash.values.uniq
puts unique_values.inspect # 輸出: [1, 2, 3, 4, 5]
hash = {a: 1, b: 2, c: 3, a: 4, d: 5}
unique_hash = hash.each_with_object({}) do |(key, value), result|
result[key] = value
end
puts unique_hash.inspect # 輸出: {:a=>1, :b=>2, :c=>3, :d=>5}
請注意,這些方法不會修改原始哈希。如果需要修改原始哈希,請使用dup
方法創建一個新的哈希副本,然后對副本進行操作。