Функции сортировки#

1. Функция сортировки элементов массива (sort)#

Функция «sort» возвращает новый отсортированный список элементов в объекте по возрастанию или убыванию.

Варианты написания функции:

  • sort;

  • Sort.

Синтаксис#

sort("array", "order", "fieldName")
sort(["const1", "const2", "const3", "const4"])
define numbers = ["const1", "const2", "const3", "const4"]
Out.result = sort($numbers)

Аргументы#

  1. array — исходный массив.

  2. order — порядок сортировки (ascending/descending), по умолчанию ascending (по возрастанию).

  3. fieldName — поле объекта, по которому происходит сортировка.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

-

Out.result1 = sort([10,5,1,3,9])

{«result1»:[1.0,3.0,5.0,9.0,10.0]}

-

define numbers = [10,4,7,2,9]
Out.result2 = sort($numbers,»descending»)

{«result2»:[10.0,9.0,7.0,4.0,2.0]}

{
»a»: [18,2,77,38,9]
}

Out.result3 = sort(IN.a)

{«result3»:[2,9,18,38,77]}

2. Функция сортировки по типу дата-время (sortDateTime)#

Функция «sortDateTime» возвращает новый отсортированный список элементов по типу дата-время в объекте по возрастанию или убыванию.

Варианты написания функции:

  • sortDateTime;

  • SortDateTime.

Синтаксис#

sortDateTime(["arrayDateTime"], "pattern", "order", "fieldName")
SortDateTime(["arrayDateTime"], "yyyy-MM-dd'T'HH:mm:ss", "ascending", "date")

Аргументы#

  1. array — исходный массив;

  2. pattern — преобразования даты времени по паттерну;

  3. order — порядок сортировки (ascending/descending), по умолчанию ascending (по возрастанию);

  4. fieldName — поле объекта, по которому происходит сортировка.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

-

out.dateObjectsResult1 = sortDateTime([«2003-01-01T10:21:10», «2002-08-01T08:10:10»,»2004-05-01T08:55:10»], «yyyy-MM-dd’T’HH:mm:ss», «ascending», «date»)

{«dateObjectsResult1»:[«2002-08-01T08:10:10»,»2003-01-01T10:21:10»,»2004-05-01T08:55:10»]}

-

out.dateObjectsResult2 = sortDateTime([«2001-10-01T10:21:10», «2002-01-01T08:10:10»,»2001-05-01T08:55:10»], «yyyy-MM-dd’T’HH:mm:ss», «descending», «date»)

{«dateObjectsResult2»:[«2002-01-01T08:10:10»,»2001-10-01T10:21:10»,»2001-05-01T08:55:10»]}

{
»a»: «2002-05-01T08:10:10»,
»b»: «2010-02-01T10:21:10»,
»c»: «2001-11-01T15:40:10»
}

out.dateObjectsResult3= sortDateTime([In.a, In.b,In.c], «yyyy-MM-dd’T’HH:mm:ss», «ascending», «date»)

{«dateObjectsResult3»:[«2001-11-01T15:40:10»,»2002-05-01T08:10:10»,»2010-02-01T10:21:10»]}