【问题标题】:Create array of individual hashes from one hash从一个哈希创建单个哈希数组
【发布时间】:2014-01-20 20:05:23
【问题描述】:

给定一个键/值对的散列,我如何将其转换为每个键/值对的单个散列数组。

例如,以:

{"hello"=>"bonjour", "goodbye"=>"au revoir"}

然后把它变成:

[ {"hello" => "bonjour"}, {"goodbye" => "au revoir"} ]

我通过以下方式得到了这一点,但我想知道是否有更简单的方法:

array = []
hash.each do |k,v|
  h = Hash.new
  h[k] = v
  array << h
end

【问题讨论】:

    标签: ruby arrays hash


    【解决方案1】:

    使用Enumerable#map进行如下操作:

    h = {"hello"=>"bonjour", "goodbye"=>"au revoir"}
    h.map { |k,v| { k => v } }
    # => [{"hello"=>"bonjour"}, {"goodbye"=>"au revoir"}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2014-12-10
      • 2014-04-18
      • 2013-01-23
      • 2021-06-24
      • 1970-01-01
      • 2012-08-05
      相关资源
      最近更新 更多