2017-09-06 73 views
0

在紅寶石哈希我有有數據類似的哈希:增加值在軌道上

details = [{ 
    :project_name=>"ABC", :project_id=>12345, :total_count=>1, 
    :stories=>[#<TrackerApi::Resources::Story id=987654>] 
}, { 
    :project_name=>"XYZ", :project_id=>54321, :total_count=>1, 
    :stories=>[#<TrackerApi::Resources::Story id=123456>] 
}] 

我要插入的數據如另一個數組:

sorter_Version = [["Abc ", "30 August 2017"], ["Not Accepted", "30 August 2017"]] 

詳細散列,但不知何故無法做到這一點。有人可以幫助我。提前感謝。

輸出應該是這樣的:

details = [{ 
     :project_name=>"ABC", :project_id=>12345, :total_count=>1, 
     :stories=>[#<TrackerApi::Resources::Story id=987654>], 
     :sorter_version=>["Abc ","30 August 2017"] 
    }, { 
     :project_name=>"XYZ", :project_id=>54321, :total_count=>1, 
     :stories=>[#<TrackerApi::Resources::Story id=123456>], 
     :sorter_version=>["Not Accepted ","30 August 2017"] 
    }]  
+1

_ 「不知何故沒能做到這一點」 _ - 可以告訴你你的方法,你有什麼嘗試?有錯誤還是意想不到的結果? – Stefan

+0

@Stefan我試了一下details.push(sorter_version),然後它終於貼上了。但那不是我想要的。 –

+0

您遇到問題的代碼是什麼?你的代碼有什麼問題?你有錯誤信息嗎?什麼是錯誤信息?你得到的結果不是你期待的結果嗎?你期望得到什麼結果?爲什麼?你得到的結果是什麼?兩者有什麼不同?你正在觀察的行爲不是所期望的行爲?什麼是期望的行爲,爲什麼,觀察到的行爲是什麼,以及它們以何種方式不同?請提供[mcve]。 [所以]不是「寫我的代碼給我的服務」!如果您正在尋找*那*,聘請程序員。 –

回答

1

只需使用each_with_index

details.each_with_index { |d, i| d[:sorter_version] = sorter_Version[i] } 
#=> [{:project_name=>"ABC", :project_id=>12345, :total_count=>1, 
#  :stories=>["#<TrackerApi::Resources::Story id=987654>"], 
#  :sorter_version=>["Abc ", "30 August 2017"]}, 
# {:project_name=>"XYZ", :project_id=>54321, :total_count=>1, 
#  :stories=>["#<TrackerApi::Resources::Story id=123456>"], 
#  :sorter_version=>["Not Accepted", "30 August 2017"]}] 

永恆版本:

details.map.with_index { |d, i| d.merge(sorter_version: sorter_Version[i]) }