给定一个数组
x = [1, 3, 5, -1, -3, -5]
如果我们使用命令
x.sort {|i| i}
我们被给予
x = [-1, -3, -5, 1, 3, 5]
有没有什么办法,给定我们的数组,让它以正确的升序/降序和负数返回它?例如
x = [-5, -3, -1, 1, 3, 5] or [5, 3, 1, -1, -3, -5]
编辑:
似乎 x.sort 可以解决这个问题,但是如果有一个更复杂的问题,我想根据散列中给出的值从我的数组中排序,例如
x = [{:i=>1}, {:i=>2}, {:i=>3}, {:i=>4}, {:i=>5}]
y = {3=>10, 4=>-1, 2=>-2, 5=>-3, 1=>-4}
我希望能够根据 y 中的值对 x 进行排序,以便我的结果是
x = [{:i=>3}, {:i=>4}, {:i=>2}, {:i=>5}, {:i=>1}]