Ordena um array.
Sintaxe
ASORT( aOrigem, [ nInicio ], [ nQtde ], [ bOrdem ]) –> aOrigem
Descrição
ASORT() é uma função de manipulação de array que classifica todo ou parcialmente um array de tipo simples. Os tipos que podem ser classificados automaticamente são: caracter, data, lógico e numérico.
Caso bOrder seja especificado, o code block será usado para ordernar o array, neste caso, pode-se usar dados de qualquer tipo. Cada vez que o bloco for avaliado, serão passados dois elementos do array, caso eles estejam em ordem, deve-se retornar .T.
Exemplos
Exemplo 1
aArray := { 3, 5, 1, 2, 4 }
ASORT(aArray)
// Resultado: { 1, 2, 3, 4, 5 }
ASORT(aArray,,, { |x, y| x > y })
// Resultado: { 5, 4, 3, 2, 1 }
Exemplo 2
aArray := { “Fred”, Kate”, “ALVIN”, “friend” }
ASORT(aArray,,, { |x, y| UPPER(x) < UPPER(y) })
Exemplo 3
aKids := { {“Mary”, 14}, {“Joe”, 23}, {“Art”, 16} }
aSortKids := ASORT(aKids,,, { |x, y| x[2] < y[2] })
Resultado:
{ {“Mary”, 14}, {“Art”, 16}, {“Joe”, 23} }