gpt4 book ai didi

ruby-on-rails - 如何在 Ruby 中从特定字母开始对数组进行排序,比如字母 f?

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:58 28 4
gpt4 key购买 nike

我有一个文本数组。

text_array = ["bob", "alice", "dave", "carol", "frank", "eve", "jordan", "isaac", "harry", "george"]

text_array = text_array.sort 会给我们一个排序数组。

但是,我想要一个排序数组,其中 f 作为我们订单的第一个字母,e 作为最后一个字母。

所以最终的结果应该是...

text_array = ["frank", "george", "harry", "isaac", "jordan", "alice", "bob", "carol", "dave", "eve"]

实现此目标的最佳方法是什么?

最佳答案

试试这个:

result = (text_array.select{ |v| v =~ /^[f-z]/ }.sort + text_array.select{ |v| v =~ /^[a-e]/ }.sort).flatten

它不是最漂亮的,但它可以完成工作。

根据评论进行编辑。制作一段更通用的代码:

before = []
after = []
text_array.sort.each do |t|
if t > term
after << t
else
before << t
end
end
return (after + before).flatten

此代码假定 term 是您要划分数组的任何内容。如果数组值等于 term,它将在末尾。

关于ruby-on-rails - 如何在 Ruby 中从特定字母开始对数组进行排序,比如字母 f?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663198/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com