Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从数组中选择最大值的一种方法_Ruby_Arrays - Fatal编程技术网

Ruby 从数组中选择最大值的一种方法

Ruby 从数组中选择最大值的一种方法,ruby,arrays,Ruby,Arrays,这将返回数组中最长字符串的第一个实例: ["abcd","efgh","ijk"].max_by { |x| x.length } # => "abcd" 与此类似,是否有一种很好的方法来获取具有最大长度的所有字符串的数组 ["abcd","efgh","ijk"].some_trick ... # => ["abcd","efgh"] 我们开始: ["abcd","efgh","ijk"].group_by(&:size).max.last #=> ["abcd"

这将返回数组中最长字符串的第一个实例:

["abcd","efgh","ijk"].max_by { |x| x.length } # => "abcd"
与此类似,是否有一种很好的方法来获取具有最大长度的所有字符串的数组

["abcd","efgh","ijk"].some_trick ... # => ["abcd","efgh"]
我们开始:

["abcd","efgh","ijk"].group_by(&:size).max.last #=> ["abcd","efgh"]
说明:

  • 给出一个散列,其中包含数组中作为键的字符串的每个唯一大小,以及作为值=>
    {4=>[“abcd”,“efgh”],3=>[“ijk”]}
  • 应用于散列将在如下数组中为我们提供具有匹配值的最高键:
    [key,values]
    =>
    [4,[“abcd”,“efgh”]
  • 将为我们提供数组的最后一个元素…=><代码>[“abcd”,“efgh”]

我不知道,在文档中查找这些方法似乎可以告诉你很多。或者在irb中按(&:大小)分组,然后按最大值分组。