溫馨提示×

Ruby哈希操作怎樣去重數(shù)據(jù)

小樊
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方法創(chuàng)建一個新的哈希副本,然后對副本進行操作。

0