0

Rubyには、ハッシュの配列と配列があります。ハッシュの配列で、キーと値のペアの1つの値を2番目の配列の値に置き換えたいと思います。これを達成するための最もクリーンな方法は何ですか?

例(「total」の値を2番目の配列の値に置き換えたい):

ハッシュの配列:

 [{"date":"2012-05-27","total":1},{"date":"2012-05-28","total":9}]

配列:

 [1, 10]

必要なハッシュの配列:

 [{"date":"2012-05-27","total":1},{"date":"2012-05-28","total":10}]
4

2 に答える 2

4
array.each_with_index {|e,i| hash_array[i]["total"] = e}
于 2012-07-01T00:27:54.290 に答える
1
hashes = [{date: "2012-05-27", total: 1},{date: "2012-05-28", total: 9}] #unquoted keys
values = [1,10]

hashes.zip(values){|h,v| h[:total] = v}
p hashes #=>[{:date=>"2012-05-27", :total=>1}, {:date=>"2012-05-28", :total=>10}]
于 2012-07-01T11:30:18.727 に答える