温馨提示×

Ruby哈希操作怎样去重数据

小樊
83
2024-11-06 02:56:34
栏目: 编程语言

在Ruby中,可以使用uniq方法对哈希中的键和值进行去重。以下是一些示例:

  1. 去重哈希的键:
hash = {a: 1, b: 2, c: 3, a: 4, d: 5}
unique_keys = hash.keys.uniq
puts unique_keys.inspect # 输出: [:a, :b, :c, :d]
  1. 去重哈希的值:
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]
  1. 同时去重键和值:
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方法创建一个新的哈希副本,然后对副本进行操作。

0