Asort based on two array elements

Post Reply
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Asort based on two array elements

Post by Marco Turco »

Hi all,
I need to order the following array by date and by name (inside a date).
Do you have any suggest about ?

* date is the first element, name is the second
aArray:={}
aadd(aArray,{"01/10/2015","Marc"})
aadd(aArray,{"01/10/2015","Alexandra"})
aadd(aArray,{"01/07/2015","Paul"})
aadd(aArray,{"01/04/2015","Alexandra"})
aadd(aArray,{"01/04/2015","Marc"})

Thank you in advance
Best Regards,

Marco Turco
SOFTWARE XP LLP
Diego Decandia
Posts: 40
Joined: Fri Aug 22, 2014 6:21 am

Re: Asort based on two array elements

Post by Diego Decandia »

Hi Marco,

maybe using a third element?

aadd(aArray,{ "01/10/2015", "Marc", DTOS( CTOD( "01/10/2015" ) ) + "Marc" } )
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: Asort based on two array elements

Post by nageswaragunupudi »

Code: Select all | Expand

ASort( aArray, nil, nil, { |x,y| If( x[ 1 ] == y[ 1 ], x[ 2 ] < y[ 2 ], x[ 1 ] < y[ 1 ] ) } )
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Re: Asort based on two array elements

Post by Marco Turco »

Solved, thank you Nages
Best Regards,

Marco Turco
SOFTWARE XP LLP
Post Reply