Ruby 如何在没有键的情况下合并这两个哈希数组?
我有以下哈希数组:Ruby 如何在没有键的情况下合并这两个哈希数组?,ruby,arrays,hash,Ruby,Arrays,Hash,我有以下哈希数组: >> hash = { "One" => [{"Oneone" => "1", "Onetwo" => "2"}, {"Oneone" => "3", "Onetwo" => "4"}], "Two" => [{"Twoone" => "5", "Twotwo" => "6"}, {"Twoone" => "7", "Twotwo" => "8"}] } { "One" => [
>> hash = { "One" => [{"Oneone" => "1", "Onetwo" => "2"}, {"Oneone" => "3", "Onetwo" => "4"}], "Two" => [{"Twoone" => "5", "Twotwo" => "6"}, {"Twoone" => "7", "Twotwo" => "8"}] }
{
"One" => [
[0] {
"Oneone" => "1",
"Onetwo" => "2"
},
[1] {
"Oneone" => "3",
"Onetwo" => "4"
}
],
"Two" => [
[0] {
"Twoone" => "5",
"Twotwo" => "6"
},
[1] {
"Twoone" => "7",
"Twotwo" => "8"
}
]
}
我希望将它们合并以实现以下目标:
{
"OneTwo" => [
[0] {
"Oneone" => "1",
"Onetwo" => "2",
"Twoone" => "5",
"Twotwo" => "6"
},
[1] {
"Oneone" => "3",
"Onetwo" => "4",
"Twoone" => "7",
"Twotwo" => "8"
}
]
}
假设您的示例能够代表您的数据,这应该是可行的
Hash[hash.keys.join,
hash.values.transpose.map { |hashes| hashes.inject &:merge }
]