【发布时间】:2020-01-05 05:44:46
【问题描述】:
我需要解析以下二维数组的散列,其中第一个数组具有键,其余数组具有值。
input = {
"result": [
[
"id",
"name",
"address"
],
[
"1",
"Vishnu",
"abc"
],
[
"2",
"Arun",
"def"
],
[
"3",
"Arjun",
"ghi"
]
]
}
这是我想出的结果。
input[:result].drop(1).collect{|arr| Hash[input[:result].first.zip arr]}
在这里,我遍历 result 数组,忽略它的第一个子数组(包含键的那个),然后 zip 键数组和值数组进行散列,然后我将散列收集到另一个数组。
上述解决方案给了我我想要的哈希
[{"id"=>"1", "name"=>"Vishnu", "address"=>"abc"}, {"id"=>"2", "name"=>"Arun", "address"=>"def"}, {"id"=>"3", "name"=>"Arjun", "address"=>"ghi"}]
有没有更好的方法来达到同样的效果?
【问题讨论】:
标签: arrays ruby multidimensional-array hash