我有一个多维数组,第一行包含值标签:
[
['a','b','c'],
[1,2,3],
[4,5,6]
]
我想将该数组转换为哈希数组,其中标签是每个元素中的索引:
[
{'a' => 1, 'b' => 2, 'c' => 3},
{'a' => 4, 'b' => 5, 'c' => 6}
]
在Ruby / Rails中最快的方法是什么?
答案 0 :(得分:3)
这是将多维数组转换为哈希数组的一种方法,其中提供的数组中的第一个元素充当返回哈希中使用的键集:
arr = [
['a', 'b', 'c'],
[1, 2, 3],
[4, 5, 6]
]
labels = arr.shift
arr.map { |sub_arr| Hash[labels.zip(sub_arr)] }
# => [{'a' => 1, 'b' => 2, 'c' => 3}, {'a' => 4, 'b' => 5, 'c' => 6}]
希望它有所帮助!