Rails 从哈希数组中选择最大值

2024-06-24

我有一个像这样的哈希数组,我想取其中的最大值

data = [{name: "abc", value: "10.0"}, {name: "def", value: "15.0"}, {name: "ghi", value: "20.0"}, {name: "jkl", value: "50.0"}, {name: "mno", value: "30.0"}]

我想选择哈希数组的最大值,我想要的输出就像数据:“50.0”

我怎么可能这样做,我已经尝试过,但它似乎不起作用,只是给我一个错误

data.select {|x| x.max['value'] }

任何帮助将不胜感激


在 Ruby 中,有很多方法可以做到这一点。这里有两个。你可以将一个块传递给Array#max如下:

  > data.max { |a, b| a[:value] <=> b[:value] }[:value]
   => "50.0"

或者你可以使用Array#map撕开:value条目出Hash:

  > data.map { |d| d[:value] }.max
   => "50.0"

请注意,您可能想要使用#to_f or Float(...)以避免进行字符串-字符串比较,具体取决于您的用例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 从哈希数组中选择最大值 的相关文章

随机推荐