Pregunta

Tengo dos matrices a, b de la misma longitud:

a = [a_1, a_2, ..., a_n]
b = [b_1, b_2, ..., b_n]

Cuando ordeno a usando sort_by!, los elementos de a se organizará en diferentes orden:

a.sort_by!{|a_i| some_condition(a_i)}

¿Cómo puedo reordenar? b en el mismo orden/reordenamiento que el reordenamiento de a? Por ejemplo, si a después sort_by! es

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

Entonces quiero

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

Editar

Necesito hacerlo en su lugar (es decir, retener el objeto_id de a, b). Las dos respuestas dadas hasta ahora son útiles en eso, dadas las matrices ordenadas:

a_sorted
b_sorted

puedo hacer

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

Pero si es posible, quiero hacerlo directamente. Si no, aceptaré una de las respuestas ya dadas.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top