簡體   English   中英

Ruby:使用默認鍵+數組值創建哈希值

[英]Ruby: Create hash with default keys + values of an array

我相信之前在一個稍微不同的背景下已經被問過/回答了,我已經看到了一些與此類似的例子的答案 - 但似乎沒有任何東西完全適合。

我有一系列的電子郵件地址:

@emails = ["test@test.com", "test2@test2.com"]

我想從這個數組中創建一個哈希,但它必須如下所示:

input_data = {:id => "#{id}", :session => "#{session}", 
              :newPropValues => [{:key => "OWNER_EMAILS", :value => "test@test.com"} , 
                                 {:key => "OWNER_EMAILS", :value => "test2@test2.com"}]

我認為Hash中的哈希Array Hash我失望。 但我已經玩過injectupdatemergecollectmap並且沒有運氣生成這種類型的動態哈希,需要根據@emails數組中的條目數創建。

有沒有人對如何解決這個問題有任何建議?

所以基本上你的問題是這樣的:

有這個數組:

emails = ["test@test.com", "test2@test2.com", ....]

你想要一個像這樣的哈希數組:

output = [{:key => "OWNER_EMAILS", :value => "test@test.com"},{:key => "OWNER_EMAILS", :value => "test2@test2.com"}, ...]

一個解決方案是:

emails.inject([]){|result,email| result << {:key => "OWNER_EMAILS", :value => email} }

更新:當然我們可以這樣做:

emails.map {|email| {:key => "OWNER_EMAILS", :value => email} }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM