Hola buenas, tengo un array de hashes, por ejemplo:
array=Array.new
arr=Hash.new
arr={:id=>3,:nombre=>“d”}
array<<arr
arr={:id=>2, :nombre=>“b”}
array<<arr
arr={:id=>1, :nombre=>“a”}
array<<arr
Al final array vale:
[{:id=>3, :nombre=>“d”}, {:id=>2, :nombre=>“b”}, {:id=>1, :nombre=>“a”}]
Mi pregunta es cómo puedo ordenar este array por el campo ‘nombre’ para
que me quede:
[{:id=>1, :nombre=>“a”}, {:id=>2, :nombre=>“b”}, {:id=>3, :nombre=>“d”}]
Alguna sugerencia? Gracias
hola,
Mi pregunta es cómo puedo ordenar este array por el campo ‘nombre’ para
que me quede:
[{:id=>1, :nombre=>“a”}, {:id=>2, :nombre=>“b”}, {:id=>3, :nombre=>“d”}]
usando sort
tu_array.sort{|x,y| x[:name] <=> y[:name]}
saludos,
javier ramírez
javier ramirez
escribió:>
Muchas gracias 
tu_array.sort{|x,y| x[:name] <=> y[:name]}
o sort_by {|elem| elem[:name]}
y si estas en Rails y el orden es por un metodo especifico (y no un
elemento de un hash) puedes hacer (bueno, en teoria, no lo he probado)
sort_by(&:name)