首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从Ruby数组中选择最长的字符串?

如何从Ruby数组中选择最长的字符串?
EN

Stack Overflow用户
提问于 2014-03-16 23:13:11
回答 4查看 14.1K关注 0票数 32

然而,上面的重复建议是针对多维数组的,而不是针对我在这里提出的更简单的情况。

例如,如果我有:

代码语言:javascript
复制
'one','two','three','four','five'

我想选择three,因为它是最长的字符串。我试过了:

代码语言:javascript
复制
['one','two','three','four','five'].select{|char_num| char_num.size.max} 

但是Enumerable#max没有返回正确的结果。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-16 23:14:01

只需使用Enumerable#max_by执行以下操作:

代码语言:javascript
复制
ar = ['one','two','three','four','five']
ar.max_by(&:length) # => "three"
票数 68
EN

Stack Overflow用户

发布于 2014-09-30 03:34:54

代码语言:javascript
复制
arr.map(&:length).max     -
票数 1
EN

Stack Overflow用户

发布于 2015-12-20 22:01:00

您还可以使用:

代码语言:javascript
复制
['one','two','three','four','five'].inject { |f, s| f.length > s.length ? f : s }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22438646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档