加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 按内容计算的最高值对数组进行排序

发布时间:2020-12-17 03:02:05 所属栏目:百科 来源:网络整理
导读:我有一个像这样的字符串数组: [“Brazil (62)”,“PalestinianTerritoryOccupied (6)”,“Macedonia (2)”, “Germany (6)”] 我想用最高价值对它们进行排序,但它让我感到难过.我尝试过各种各样奇怪,精彩(无用)的东西,比如: cont.sort! { |it| it.scan(/d
我有一个像这样的字符串数组:

[“Brazil (62)”,“PalestinianTerritoryOccupied (6)”,“Macedonia (2)”,
“Germany (6)”]

我想用最高价值对它们进行排序,但它让我感到难过.我尝试过各种各样奇怪,精彩(无用)的东西,比如:

cont.sort! { |it| it.scan(/d+/).to_s.to_i}

解决方法

sort_by {|e| e[/d+/].to_i }.reverse

应该做的伎俩.您可以以更有效和更优雅的方式编写此文件(请参阅注释),如下所示:

sort_by {|e| -e[/d+/].to_i }

注意 – .

使用sort你可以做到:

sort {|a,b| b[/d+/].to_i <=> a[/d+/].to_i }

编辑

评论中已提出String#[].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读