在 Ruby 中,将二维值数组转换为散列数组的最有效方法是什么,其中的键取自单独的数组?
例如,来自:
keys = ['First name', 'Last name', 'Phone number']
values = [['John', 'Smith', '555-1234'], ['Peter', 'Jones', '555-5678']]
收件人:
[
{'First name' => 'John',
'Last name' => 'Smith',
'Phone number' => '555-1234'},
{'First name' => 'Peter',
'Last name' => 'Jones',
'Phone number' => '555-5678'}
]
最佳答案
你可以做到
array_of_hashs = values.map do |ary|
keys.zip(ary).to_h
end
array_of_hashs
# => [{"First name"=>"John", "Last name"=>"Smith", "Phone number"=>"555-1234"},
# {"First name"=>"Peter", "Last name"=>"Jones", "Phone number"=>"555-5678"}]
关于Ruby 二维数组到具有来自不同数组的键的哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608227/