【问题标题】:Method to find the name most used in an array rails查找数组 rails 中最常用的名称的方法
【发布时间】:2019-08-01 01:26:38
【问题描述】:

我有一系列项目。我需要一种方法来查找数组中重复次数最多的项目

array = "Car","Car","Bank","Plane","Boat","Car","Car","Ship"

我需要一种方法来查看这个数组并打印显示最多的项目。

输出应该是:

=> "Car"

【问题讨论】:

  • 这个问题可能重复stackoverflow.com/questions/2562256/…
  • 这个问题是关于数组中的数字。我的问题是匹配数组中的单词我不能使用找到最大数字的方法
  • 那里的用户也在使用字符串,只是恰好是包含数字的字符串
  • 所以这个问题的答案让我感到困惑,因为我需要的方法不是获取第一个项目并查找重复项,而是查看每个项目的重复项,然后选择具有重复次数最多。
  • 我如何告诉我的选择方法将自己与下一个项目进行比较?

标签: ruby-on-rails arrays


【解决方案1】:

我认为“可能重复”链接提出了一个非常好的答案。要在您的阵列上使用它:

irb > %w(Car Car Bank Plane Boat Car Car Ship).group_by(&:itself).max_by(&:size).first
=> "Car"

这会将所有值组合在一起(汽车与汽车,飞机与飞机),选择最大的组,并返回该组中的一个成员。

Source

【讨论】:

  • 这看起来不错,但我不知道数组中的项目,所以我不能像你的回答建议的那样放置项目名称。我只知道数组有项目
  • 哦,好的。这就是变量的用途。在一个名为array 的变量上调用这些方法将完成同样的事情,即使(无论出于何种原因)你不知道array 里面是什么。 mystery_array.group_by(&:itself).max_by(&:size).first
  • 好吧,如果我有一个哈希数组并且我想从数组的每个项中的一个哈希中获取数组项呢?
  • 我不确定我是否理解这个问题。一些代码会很有帮助,可能作为一个单独的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 2011-10-08
  • 1970-01-01
相关资源
最近更新 更多