我想在 ruby 中将散列数组转换为具有特定格式的单个散列
I want to convert array of hash to single hash with specific format in ruby
我有一个 hash
叫做 hash1
hash1 = [{key: 'key1', value: 'value1'}, {key: 'key2', value: 'value2'}, {key: 'key3', value: 'value3'}]
并想转换成以下格式
{'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'}
如果 hash1
中的嵌套散列始终恰好有一个 :key
和一个 :value
键,您可以将它们的 values
to a hash via Array#to_h
:
hash1.map(&:values).to_h
#=> {"key1"=>"value1", "key2"=>"value2", "key3"=>"value3"}
但我宁愿更明确一点:
hash1.map { |h| h.values_at(:key, :value) }.to_h
#=> {"key1"=>"value1", "key2"=>"value2", "key3"=>"value3"}
我有一个 hash
叫做 hash1
hash1 = [{key: 'key1', value: 'value1'}, {key: 'key2', value: 'value2'}, {key: 'key3', value: 'value3'}]
并想转换成以下格式
{'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'}
如果 hash1
中的嵌套散列始终恰好有一个 :key
和一个 :value
键,您可以将它们的 values
to a hash via Array#to_h
:
hash1.map(&:values).to_h
#=> {"key1"=>"value1", "key2"=>"value2", "key3"=>"value3"}
但我宁愿更明确一点:
hash1.map { |h| h.values_at(:key, :value) }.to_h
#=> {"key1"=>"value1", "key2"=>"value2", "key3"=>"value3"}