Tengo la siguiente matriz:
arr = [ { name: 'Apple', store: 'A' }, { name: 'Banana', store: 'A' }, { name: 'Carrot', store: 'B' }, { name: 'Potato', store: 'B' }, { name: 'Tomato', store: 'A' } ]Necesito ordenar la matriz cambiando entre cada tienda de esta manera:
arr = [ { name: 'Apple', store: 'A' }, { name: 'Carrot', store: 'B' }, { name: 'Banana', store: 'A' }, { name: 'Tomato', store: 'B' }, { name: 'Potato', store: 'A' } ]¿Cómo puedo hacer eso con ruby?
se me ocurrió algo :)
arr = [ { name: 'Apple', store: 'A' }, { name: 'Banana', store: 'A' }, { name: 'Carrot', store: 'B' }, { name: 'Potato', store: 'B' }, { name: 'Tomato', store: 'A' } ] first, *rest = arr.group_by { |h| h[:store] }.values first.zip(*rest).flatten.compactVéalo en acción: Repetir