代码之家  ›  专栏  ›  技术社区  ›  everyman

获取哈希数组中最大的哈希

  •  0
  • everyman  · 技术社区  · 6 年前

    我有的是:不同大小的哈希数组。

    hashes = [{:a => 0}, {:a => 0, :b => 1}, {:b => 1}] 
    

    我需要:我只需要最大的东西。

    {:a => 0, :b => 1}
    

    这是正确的方法还是效率低下?

    hashes.sort_by { |h| h.length }.last
    

    或者其他想法?谢谢!

    1 回复  |  直到 6 年前
        1
  •  5
  •   Ilya    6 年前

    您的解决方案工作正常,但您也可以使用 max_by ,似乎更有效:

    hashes.max_by(&:length)
    #=> {:a=>0, :b=>1}