繁体   English   中英

Ruby:将散列数组的键/值对中的值替换为第二个数组中的值

[英]Ruby: replace the values in a key-value pair of an array of hashes with the values from a 2nd array

在Ruby中,我有一个哈希数组和一个数组。 在我的哈希数组中,我想用第二个数组中的值替换键-值对之一中的值。 什么是最干净的方法来做到这一点?

示例(我想用第二个数组中的值替换“ total”的值):

散列数组:

 [{"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}]
array.each_with_index {|e,i| hash_array[i]["total"] = e}
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}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM