Page 1 of 1

Asort based on two array elements

Posted: Thu May 19, 2016 2:21 pm
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

Re: Asort based on two array elements

Posted: Thu May 19, 2016 2:46 pm
by Diego Decandia
Hi Marco,

maybe using a third element?

aadd(aArray,{ "01/10/2015", "Marc", DTOS( CTOD( "01/10/2015" ) ) + "Marc" } )

Re: Asort based on two array elements

Posted: Thu May 19, 2016 4:07 pm
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 ] ) } )
 

Re: Asort based on two array elements

Posted: Sat May 21, 2016 3:44 pm
by Marco Turco
Solved, thank you Nages