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
scroll top