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} }

 

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Necessita de ajuda?