Description
Sorts array elements numerically or alphanumerically.
Returns
True, if sort is successful; False, otherwise.
Category
Array functions, List functions
Function syntax
ArraySort(array, sort_type [, sort_order ]) |
Or:
ArraySort(array, callback) |
History
ColdFusion 10:
- Added the localeSensitive attribute.
- Added alternative callback-based syntax
ColdFusion MX:
- Changed thrown exceptions: This function can throw the ArraySortSimpleValueException error and ValueNotNumeric error.
- Changed the order in which sorted elements are returned: In a textnocase, descending sort, this function might return elements in a different sort order than in earlier releases. If sort_type = "textnocase" and sort_order = "desc", ColdFusion processes elements that differ only in casedifferently from earlier releases, as follows:
- ColdFusion reverses the elements' original order.
- Releases earlier than ColdFusion MX do not change the elements' original order.
For example, in a textnocase, desc sort of d,a,a,b,A, the following occurs: - ColdFusion MX and later returns d,b,A,a,a
- Releases earlier than ColdFusion MX return d,b,a,a,A
Parameters
Parameter |
Description |
---|---|
array |
Name of an array |
localeSensitive |
Specify if you wish to do a locale sensitive sorting. The default value is false. |
sort_type |
|
sort_order
|
|
callback |
A function which take two elements of the array, and returns whether the first is less than (-1), equal to (0) or greater than (1) the second one (similar to how compare() works for strings). |
Throws
If an array element is something other than a simple element, this function throws an ArraySortSimpleValueException error. If sort_type is numeric and an array element is not numeric, this function throws a ValueNotNumeric error.
Usage
In ColdFusion 10, added support for all Java supported locale-specific characters (including support for umlaut characters). A flag for this support has been added for sorttype = "text" or sorttype = "textnocase".
Example
<!--- This example shows ArraySort. ---> |
Example using a callback:
<cfscript> |
Note that the callback function does not need to be inline, as in the example; it can be any predefined user-defined function.