Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
collection.sort( )

collection.sort( ) 


 

collection.sort ( {MethodenName {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
MethodenName  Text in Name der Methode zur Angabe der Sortierreihenfolge
extraParam  Ausdruck in Parameter für die Methode
Funktionsergebnis  Collection in Sortierte ursprüngliche Collection

Die Funktion collection.sort( ) sortiert die Elemente der Collection und gibt auch die sortierte Collection zurück.

Hinweis: Diese Funktion verändert die ursprüngliche Collection.

Wird collection.sort( ) ohne Parameter aufgerufen, werden nur skalare Werte (Zahl, Text, Datum, Boolean) sortiert. Elemente werden standardmäßig nach Typ und in autsteigender Reihenfolge sortiert.

Wollen Sie Collection Elemente in anderer Reihenfolge oder jeden Elementtyp sortieren, müssen Sie in MethodenName eine Vergleichsmethode einrichten, die zwei Werte vergleicht und wahr in $1.result zurückgibt, wenn der erste Wert niedriger als der zweite ist. Sie können bei Bedarf weitere Parameter übergeben:

  • MethodenName empfängt folgende Parameter:
    • $1 (object), where:
      • $1.value (beliebiger Typ): erster Elementwert zum Vergleichen
      • $1.value2 (beliebiger Typ): zweiter Elementwert zum Vergleichen
    • $2...$N (beliebiger Typ): extra Parameter
  • MethodenName setzt folgende Parameter:
    • $1.result (boolean): wahr wenn $1.value < $1.value2, sonst falsch

Enthält die Collection Elemente mit unterschiedlichen Typen, werden sie erst nach Typ gruppiert und anschließend sortiert. Typen werden in folgender Reihenfolge zurückgegeben:

  1. Null
  2. Boolean
  3. String
  4. Zahl
  5. Objekt
  6. Collection
  7. Datum

 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() //Sortierung nach Zahlen: [4,33,66,222,1111]
 $col3:=$col.sort("numberOrder") //Sortierung nach Alphabet: [1111,222,33,4,66]

  //Projektmethode numberOrder
 C_OBJECT($1)
 $1.result:=String($1.value)<String($1.value2)



Siehe auch 

collection.orderBy( )
collection.orderByMethod()

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Collections
Nummer: 805259

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)