| Operator Type: | Function |
| Operator Scope of Action: | Item |
| Operator Purpose: | Data manipulation |
List.nsort()
The basic form
$MyList = $MyList.nsort()
$MyList = $MyList.nsort().reverse()
New to v5.8.0, this function re-sorts the referenced list in numerical sort order. This means sorting '1,2,11' not 1,11,2' such as occurs with sort() and a lexical sort. A numerical sot is really only useful for numerical data. For text, consider List.sort() or List.isort(), both of which give lexical sorts of differing case sensitivity. Or, use the optional long from (below) and let the nominated attribute's data type set the form of sort, e.g for date sorting.
The resulting sort order can be reversed overall by chaining the List.nsort() and List.reverse() functions.
List.nsort($Attribute)
In this optional extended form there is a requirement that the referenced list is a list of notes names or paths, i.e. $Path data or $Name data where note names are all unique. In such a case, the sort order can be based on a stipulated $Attribute name.
$MyList = $MyList.nsort($Name)
$MyList = $MyList.nsort($MyString)
$MyList = $MyList.nsort($Name).reverse()
In this long form usage, the sort ordering is based on the data type of $Attribute:
- Number type - numerical sort
- Date type - sort on date (implied numerical)
- All other types lexical
