lol*_*lix 2 ruby arrays hash ruby-on-rails
array = [
[ 1, "name1" ],
[ 2, "name2" ],
[ 3, "name3" ],
[ 4, "name4" ]
]
Run Code Online (Sandbox Code Playgroud)
我想把它作为一个像这样的散列数组:
array_hash = [{ "id" => 1, "name" => "name1" },
{ "id" => 2, "name" => "name2" },
{ "id" => 3, "name" => "name3" },
{ "id" => 4, "name" => "name4" }]
Run Code Online (Sandbox Code Playgroud)
array = [
[ 1, "name1" ],
[ 2, "name2" ],
[ 3, "name3" ],
[ 4, "name4" ]
]
array.map { |e| ['id', 'name'].zip(e).to_h }
#? [
# {"id"=>1, "name"=>"name1"},
# {"id"=>2, "name"=>"name2"},
# {"id"=>3, "name"=>"name3"},
# {"id"=>4, "name"=>"name4"}
# ]
Run Code Online (Sandbox Code Playgroud)
这里唯一有趣的是Enumerable#zip,“合并”数组。