Ruby:根据整数数组对对象数组进行排序

标签 ruby arrays sorting

这看起来相当简单,之前应该有人问过,但我在 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/

相关文章:

c - 从结构中的指针访问结构的值

c - 向 LCD 函数发送字符串,它是如何工作的?

.net - 在 vb.net 中对类数组进行排序

ruby-on-rails - thumbs_up gem 的缓存问题

ruby-on-rails - 在运行时将模块动态包含到模型中?

ruby-on-rails - IntegrationTest 与 Mocha, stub HelperMethod (Ruby)

python - 按文件名日期对日期进行排序

ruby - 比较ruby中的两个字符串

c++ - 快速找到整数的倍数

c++ - Mergesort:动态分配大小仅在运行时已知的数组