这看起来相当简单,之前应该有人问过,但我在 Stack Overflow 上找到的所有内容似乎都不起作用。我有一个包含 4 个对象的数组,我想按特定顺序对其重新排序。所以,它看起来像这样:
array = [Obj1, Obj2, Obj3, Obj4]
我有另一个整数数组,代表所需的索引顺序:
desired_order = [2,3,0,1]
所以在正确排序 array
之后我希望看到的是:
array = [Obj3, Obj4, Obj1, Obj2]
我已经知道 sort_by
是要使用的方法,但我似乎想不出正确的语法。非常感谢任何帮助!
最佳答案
Array#values_at完全满足您的需求:
array.values_at(*desired_order)
关于Ruby:根据整数数组对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869780/