我有两个长度相同的数组a
:b
a = [a_1, a_2, ..., a_n]
b = [b_1, b_2, ..., b_n]
当我使用 排序时a
,sort_by!
的元素a
将以不同的顺序排列:
a.sort_by!{|a_i| some_condition(a_i)}
如何b
以与重新排序相同的顺序/重新排列重新排序a
?例如,如果a
aftersort_by!
是
[a_3, a_6, a_1, ..., a_i_n]
那我想要
[b_3, b_6, b_1, ..., b_i_n]
编辑
我需要就地执行(即保留 , 的 object_id a
)b
。鉴于已排序的数组,到目前为止给出的两个答案很有用:
a_sorted
b_sorted
我可以
a.replace(a_sorted)
b.replace(b_sorted)
但如果可能的话,我想直接做。如果没有,我将接受已经给出的答案之一。