Réorganiser un tableau dans le même ordre qu'un autre tableau a été réorganisé
-
30-10-2019 - |
Question
J'ai deux tableaux a
, b
de la même longueur:
a = [a_1, a_2, ..., a_n]
b = [b_1, b_2, ..., b_n]
Quand je trie a
utilisant sort_by!
, les éléments de a
sera organisé dans un ordre différent:
a.sort_by!{|a_i| some_condition(a_i)}
Comment puis-je réorganiser b
dans le même ordre / réarrangement que la réorganisation de a
? Par exemple, si a
après sort_by!
est
[a_3, a_6, a_1, ..., a_i_n]
Alors je veux
[b_3, b_6, b_1, ..., b_i_n]
Éditer
J'ai besoin de le faire en place (c'est-à-dire, conserver l'objet_id de a
, b
). Les deux réponses données jusqu'à présent sont utiles en ce que, compte tenu des tableaux triés:
a_sorted
b_sorted
Je peux faire
a.replace(a_sorted)
b.replace(b_sorted)
Mais si possible, je veux le faire directement. Sinon, j'accepterai l'une des réponses déjà données.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow