aSort

Ordena array no proprio array (in-place). Aceita codeblock customizado pra ordenar arrays multidimensionais por coluna.

Assinatura: aSort(aArr, [nIni], [nQtd], [bCmp]) -> aArr

Retorna: Array (mesmo array, ordenado)

aSort ordena um array no proprio lugar (in-place). Aceita codeblock pra ordenar arrays compostos por sub-arrays (ex: {{cod,nome}, {cod,nome}}).

Sintaxe basica (array simples)

aNomes := {"Carlos", "Ana", "Bruno"}
aSort(aNomes)
// aNomes agora = {"Ana", "Bruno", "Carlos"}

Ordenar por coluna (array de arrays)

aDados := { ;
    {"002", "Ana"},   ;
    {"001", "Carlos"} ;
}

// Ordenar por coluna 1 (codigo)
aSort(aDados, NIL, NIL, {|x,y| x[1] < y[1]})

// Ordenar por coluna 2 (nome)
aSort(aDados, NIL, NIL, {|x,y| x[2] < y[2]})

Pegadinhas

Parâmetros

NomeTipoObrigatórioDescrição
aArrArraysimArray a ordenar.
nIniNumericnãoPosicao inicial. Default 1.
nQtdNumericnãoQuantos elementos. Default todos.
bCmpCodeBlocknãoCodeblock de comparacao {|x,y| x < y}.

Veja também