Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.sort( )
|
collection.sort ( {nomeMet {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
nomeMet | Texto |
![]() |
Nome do método usado para especificar a ordem de classificação | |||||
extraParam | Expression |
![]() |
Parâmetros para o método | |||||
Resultado | Collection |
![]() |
Coleção original ordenada | |||||
O método collection.sort( ) ordena os elementos da coleção e devolve uma nova coleção ordenada. Este método devolve uma cópia superficial, o que significa que os objetos ou coleções em ambas coleções compartem a mesma referência.
Nota: este método modifica a coleção original.
Se for chamada a collection.sort( ) sem parâmetros, só são classificados os valores escalares (número, texto, data, booleanos). Os elementos são ordenados como padrão em ordem ascendente, de acordo com seu tipo.
Se quiser ordenar os elementos da coleção em outra ordem ou ordenar qualquer tipo de elemento, deve oferecer em nomMet um método de comparação que compare dois valores e devolva true em $1.result se o primeiro valor for menor que o segundo valor. Pode oferecer parâmetros adicionais a nomMet se for necessário.
Se a coleção contiver elementos de diferentes tipos, primeiro são agrupados por tipo e são ordenados depois. Os tipos são devolvidos na ordem abaixo:
C_COLLECTION($col)
$col:=New collection("Tom";5;"Mary";3;"Henry";1;"Jane";4;"Artie";6;"Chip";2)
$col2:=$col.sort() // $col2=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]
// $col=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]
C_COLLECTION($col)
$col:=New collection(10;20)
$col2:=$col.push(5;3;1;4;6;2).sort() //$col2=[1,2,3,4,5,6,10,20]
C_COLLECTION($col)
$col:=New collection(33;4;66;1111;222)
$col2:=$col.sort() //ordem numérica: [4,33,66,222,1111]
$col3:=$col.sort("numberOrder") //ordem alfabética: [1111,222,33,4,66]
//Método projeto numberOrder
C_OBJECT($1)
$1.result:=String($1.value)<String($1.value2)
Produto: 4D
Tema: Coleções
Número
805259
Criado por: 4D v16 R6
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)