Riordinando un array nello stesso ordine di un altro array fu riordinato
-
30-10-2019 - |
Domanda
Ho due array a
, b
della stessa lunghezza:
a = [a_1, a_2, ..., a_n]
b = [b_1, b_2, ..., b_n]
Quando mi ordino a
usando sort_by!
, gli elementi di a
sarà organizzato in diverso ordine:
a.sort_by!{|a_i| some_condition(a_i)}
Come posso riordinare b
nello stesso ordine/riarrangiamento del riordino di a
? Ad esempio, se a
dopo sort_by!
è
[a_3, a_6, a_1, ..., a_i_n]
Allora voglio
[b_3, b_6, b_1, ..., b_i_n]
Modificare
Devo farlo sul posto (cioè conservare l'oggetto_id di a
, b
). Le due risposte fornite finora sono utili in questo, date gli array ordinati:
a_sorted
b_sorted
posso fare
a.replace(a_sorted)
b.replace(b_sorted)
Ma se possibile, voglio farlo direttamente. In caso contrario, accetterò una delle risposte già fornite.
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow