gpt4 book ai didi

ruby - 如何按不同顺序的多个条件进行排序?

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:41 25 4
gpt4 key购买 nike

我真的很想在没有猴子补丁的情况下处理这个问题,但我还没有找到其他选择。

我有一个数组(在 Ruby 中),我需要按多个条件对其进行排序。我知道如何使用 sort 方法,并且我已经使用了使用选项数组按多个条件进行排序的排序技巧。但是,在这种情况下,我需要第一个条件进行升序排序,第二个条件进行降序排序。例如:

ordered_list = [[1, 2], [1, 1], [2, 1]]

有什么建议吗?

编辑:刚刚意识到我应该提到我不能轻易地比较第一个值和第二个值(我实际上是在处理对象属性)。所以对于一个简单的例子,它更像是:

ordered_list = [[1, "b"], [1, "a"], [2, "a"]]

最佳答案

怎么样:


ordered_list = [[1, "b"], [1, "a"], [2, "a"]]
ordered_list.sort! do |a,b|
[a[0],b[1]] <=> [b[0], a[1]]
end

关于ruby - 如何按不同顺序的多个条件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73032/

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