Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 9.0   9.1   9.2   9.3   9.4   9.5   10.0   10.1   10.2   10.3    Statistic  


Sorts a list with using an expression to evaluate.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
List 10.2 Yes Yes Yes Yes Yes
MBS( "List.SortWithEvaluate"; List; Expression { ; NoReturnEnding } )   More


Parameter Description Example value
List The list to sort. "Hello" ¶ "World"
Expression The expression to evaluate.
Can include "leftValue" and "rightValue" as variables.
"leftValue > rightValue"
NoReturnEnding Optional
Pass 1 to have no extra newline character on the end of the returned list. Default is 0 to include one to easily concat lists.


Returns OK or error.


Sorts a list with using an expression to evaluate.
The expression is run every time two values are compared, so keep it quick. It should return 1 if leftValue is smaller than rightValue.

Our normal List.Sort is faster due to not having the overhead of evaluating expressions.


Sort numbers numeric with GetAsNumber() function:

MBS("List.SortWithEvaluate"; "1¶22¶3"; "GetAsNumber(leftValue) < GetAsNumber(rightValue)")

Example result:

Sort dates with using GetAsDate:

MBS("List.SortWithEvaluate"; "1/1/2000¶2/22/2020¶3/4/1998"; "GetAsDate(leftValue) < GetAsDate(rightValue)")

See also

Blog Entries

Release notes

Created 9th April 2020, last changed 13th May 2020

List.Sort   -   List.SubList

Feedback: Report problem or ask question.

MBS Xojo Plugins