Перейти к основному содержимому

List.Sort

Сортирует список данных по указанным критериям.

Syntax

List.Sort(
list as list,
optional comparisonCriteria as any
) as list

Remarks

Сортирует списки данных, list, в соответствии с заданными необязательными критериями. В качестве критерия сравнения можно указать необязательный параметр comparisonCriteria. Он может принимать следующие значения:

  • Для управления порядком критерий сравнения может быть значением перечисления Order. (Order.Descending, Order.Ascending).
  • Для вычисления ключа, используемого для сортировки, можно использовать функцию 1 аргумента.
  • Для выбора ключа и порядка управления можно использовать критерий сравнения, представляющий собой список, содержащий ключ и порядок ({each 1 / _, Order.Descending}).
  • Для полного управления сравнением можно использовать функцию из 2 аргументов. Этой функции будут переданы два элемента из списка (два любых элемента в любом порядке). Эта функция должна возвратить одно из следующих значений:
    • -1: первый элемент меньше второго.
    • 0: элементы равны.
    • 1: первый элемент больше второго.
    С помощью метода Value.Compare можно делегировать эту логику.

Examples

Example #1

Сортировать список {2, 3, 1}.

List.Sort({2, 3, 1})

Result:

{1, 2, 3}

Example #2

Сортировать список {2, 3, 1} в порядке убывания.

List.Sort({2, 3, 1}, Order.Descending)

Result:

{3, 2, 1}

Example #3

Сортировать список {2, 3, 1} в порядке убывания с помощью метода Value.Compare.

List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))

Result:

{3, 2, 1}

Category

List.Ordering