簡體   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