2010-02-10 20 views
5

Todo,Recuperación de valores clave hash específicos de una serie de valores hash

Me preguntaba si alguien sabía una mejor Patten que:

array_of_hashes.map { |hash_from_array| hash_from_array[:key] } 

para recuperar una matriz de valores con una clave específica de una matriz de hashes que contienen esa clave.

+2

me parece bien, aunque el nombramiento de la variable hash_from_array es un poco exagerado. "h" probablemente lo haría. – klochner

+0

heh, era harinoso para mejorar la legibilidad del ejemplo. :) –

+1

una solución muy directa - me gusta –

Respuesta

1

Desde la perspectiva del código Ruby, el map es bastante elegante y directo.

Desde el punto de vista algorítmico (para abordar la etiqueta informática), parece que una solución a este problema no puede ser mejor que pasar por toda la matriz una vez (es decir, map aquí), por lo que tomará tanto tiempo para procesar cada hash en la matriz.

@Vlad: Compactar la matriz devuelta depende de lo que se hará con la matriz, ¿verdad? :-)

Cuestiones relacionadas