簡體   English   中英

迭代創建哈希哈希

[英]Iterate through to create a hash of hashes

作為最終結果,我需要一個哈希:

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}

例如哈希哈希。

把問題放在它應該從迭代創建如下:

@result = []

@goods = {lorem: "ipsum", dolor: "sit"}

@items.each do |item|
  @goods.map do |k, v|
    if item.title == "ipsum"
      @result << [k, v]
    else
      @result << [k, item.title]
    end
  end
end

但這不是我正在尋找的,因為@result是數組,並且它不是二維的(因此我有[[foo,bar] [foo1,bar1] ...])

我看到如何將k轉換為Hash鍵(k.to_sym),但我的問題是將散列哈希值作為最終輸出。

Ruby 1.9.3(和Rails,但我相信這可以在沒有任何Rails添加的情況下完成)

非常感謝。

預期結果的格式不是有效的哈希。

代替

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}

它應該是這樣的

{items: [{lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}]}

得到你想要的結果也不難

@items = []
@goods = {lorem: "ipsum", dolor: "sit"}
@items << @goods
@result = {items: @items}

暫無
暫無

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

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