Sortowanie tablicy

Witam

Chciałbym zapytać czy ktoś wie jak w miarę sprawnie posortować taką zagnieżdżoną tablice. Nie jest ona związania z żadnym modelem

tab = [[id,value],[id,value],[id,value],[id,value]…]

chce posortować po value i zachowaniem id. Sortować chce po to aby usunąć skrajne wartości

z góry dzięki za pomoc
pozdrawiam

Jeśi dobrze Cię rozumiem (a tego nie jestem pewien), to możesz to posortować tak:

tab.sort { |a,b| a[1] <=> b[1] }

Czyli po drugim elemencie każdej z tablic.

Jeśli chcesz pobrać tylko skrajne wartości, to użyj funkcji min i max:

tab.min { |a,b| a[1] <=> b[1] } tab.max { |a,b| a[1] <=> b[1] }

Dokładnie tak chcę sortować po drugim elemencie każdej z tablic.
Działa bez zarzutu, dzieki

pozdrawiam

Może być jeszcze prościej :slight_smile:

tab.sort_by{|e| e[1]}

To jest o tyle fajne, że działa również dla Hasha.

Ja też ja też :stuck_out_tongue:

tab.sort_by(&:last)