Ich habe zwei Arrays a
, b
der gleichen Länge:
a = [a_1, a_2, ..., a_n]
b = [b_1, b_2, ..., b_n]
Wenn ich sortiere a
mit sort_by!
die Elemente von a
werden in einer anderen Reihenfolge angeordnet:
a.sort_by!{|a_i| some_condition(a_i)}
Wie kann ich nachbestellen? b
in der gleichen Reihenfolge/Umordnung wie die Umordnung von a
? Zum Beispiel, wenn a
nach sort_by!
est
[a_3, a_6, a_1, ..., a_i_n]
dann möchte ich
[b_3, b_6, b_1, ..., b_i_n]
bearbeiten
Ich muss es an Ort und Stelle tun (d. h. die object_id von a
, b
). Die beiden Antworten, die bisher gegeben wurden, sind insofern nützlich, als sie die sortierten Arrays angeben:
a_sorted
b_sorted
Ich kann
a.replace(a_sorted)
b.replace(b_sorted)
aber wenn möglich, möchte ich es direkt tun. Wenn nicht, werde ich eine der bereits gegebenen Antworten akzeptieren.