質問

2つの配列があります 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?たとえば、if asort_by!

[a_3, a_6, a_1, ..., a_i_n]

それから私は欲しい

[b_3, b_6, b_1, ..., b_i_n]

編集

私はそれを適切に行う必要があります(つまり、のobject_idを保持します a, b)。ソートされた配列を考えると、これまでに与えられた2つの回答は、それに役立ちます。

a_sorted
b_sorted

できます

a.replace(a_sorted)
b.replace(b_sorted)

しかし、可能であれば、私はそれを直接やりたいです。そうでない場合、私はすでに与えられた答えの1つを受け入れます。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top