簡體   English   中英

Ruby-將具有數組值的Hash轉換為哈希數組

[英]Ruby - Convert Hash with array values to array of hashes

假設我有此哈希:

def aliases
  {
    blond: [
      'dark blond',
      'dirty blond',
      'honey blond',
      'sandy blond',
      'stawberry blond'
    ],
    brown: [
      'dark brown',
      'light brown'
    ],
    gray: [
      'grey'
    ]
  }
end

將其轉換為以下內容的最優雅的方法是:

[ { blond: 'dark blond' }, { blond: 'dirty blond' }, { brown: 'dark brown' } ... ]
aliases.flat_map { |k,v| v.map { |s| { k=>s } } }
  #=> [{:blond=>"dark blond"}, {:blond=>"dirty blond"}, {:blond=>"honey blond"},
  #    {:blond=>"sandy blond"}, {:blond=>"stawberry blond"}, {:brown=>"dark brown"},
  #    {:brown=>"light brown"}, {:gray=>"grey"}] 

暫無
暫無

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

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