我正在尝试将二维数组转换为哈希数组。 这是我的数组:
[[8765, 105191, 2.0, 1582.1], [4321, 62870, 2.0, 603.24], [1234, 62870, 2.0, 500.24]]
我正在尝试将其转换为哈希值数组。像这样:
[{"sales_user_id"=>"8765", "user_id"=>"105191", "month"=>"2", "sum"=>"1582.1"},
{"sales_user_id"=>"4321", "user_id"=>"62870", "month"=>"2", "sum"=>"603.24"},
{"sales_user_id"=>"1234", "user_id"=>"62870", "month"=>"2", "sum"=>"500.24"}]
我正在分解每个数组并为数组中的值分配一个键。我对 ruby 还是有点陌生,我不确定从哪里开始。
最佳答案
这对于 Enumerable#zip
来说非常简单:
values = [ [ 8765, 105191, 2.0, 1582.1 ],
[ 4321, 62870, 2.0, 603.24 ],
[ 1234, 62870, 2.0, 500.24 ] ]
keys = %w[sales_user_id user_id month sum]
p values.map {|arr| keys.zip(arr).to_h }
# => [ { "sales_user_id" => 8765, "user_id" => 105191, "month" => 2.0, "sum" => 1582.1 },
# { "sales_user_id" => 4321, "user_id" => 62870, "month" => 2.0, "sum" => 603.24 },
# { "sales_user_id" => 1234, "user_id" => 62870, "month" => 2.0, "sum" => 500.24 } ]
关于arrays - 将数组数组转换为 Ruby 中的哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471494/