【问题标题】:Trying to sort a hash within an array within a hash尝试在散列中对数组中的散列进行排序
【发布时间】:2017-10-17 18:18:33
【问题描述】:

这就是我笨拙的数据库看起来像 atm。我想尝试根据年龄对嵌套哈希进行排序。我环顾四周,我能找到的只是如何在散列内对散列进行排序,但当嵌套散列在数组内时则不行。我相信有一些简单的方法可以改变结构或按原样排序。

{ :room1 => [{
  :fred => { :name => "Fred", :age => 23 },
  :joan => { :name => "Joan", :age => 18 },
  :pete => { :name => "Pete", :age => 54 }
}],
:room2 => [{
  :jan => { :name => "jan", :age => 2 },
  :eric => { :name => "eric", :age => 3 },
  :stan => { :name => "stan", :age => 1 }
}]}

提前致谢! 顺便说一句,这是我在这里的第一个问题。温柔点^^。

【问题讨论】:

    标签: arrays ruby sorting hash-of-hashes


    【解决方案1】:

    试试这个

    h.each do |k, v| 
      h[k] = v.first.sort_by { |_, person| person[:age] }.to_h
    end
    

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 2014-05-19
      • 2015-01-26
      • 2019-11-03
      • 2012-10-09
      • 2014-05-07
      相关资源
      最近更新 更多