Функции массивов
$count()
Сигнатура: $count(array)
Возвращает число элементов параметра array. Если параметр не является массивом, а имеет другой JSON-тип, он рассматривается как одноэлементный массив с этим значением, и функция возвращает 1.
Если array не указан, используется значение контекста.
Примеры:
$count([1,2,3,1])=>4$count("hello")=>1
$append()
Сигнатура: $append(array1, array2)
Возвращает массив со значениями array1, за которыми следуют значения array2. Если любой параметр не является массивом, он рассматривается как одноэлементный массив с этим значением.
Примеры:
$append([1,2,3], [4,5,6])=>[1,2,3,4,5,6]$append([1,2,3], 4)=>[1,2,3,4]$append("Hello", "World")=>["Hello", "World"]
$sort()
Сигнатура: $sort(array [, function])
Возвращает значения array, отсортированные по порядку. Если function не передана, array должен содержать только числа или только строки; они сортируются соответственно по возрастанию числа либо кодовой точки Unicode.
Функция-компаратор должна принимать два параметра: function(left, right). Алгоритм вызывает её для сравнения left и right. Если left должен оказаться после right, функция должна вернуть true, обозначая обмен; иначе — false.
$sort(Account.Order.Product, function($l, $r) {
$l.Description.Weight > $r.Description.Weight
})
Этот пример сортирует продукты по возрастанию веса. Алгоритм стабилен: равные по компаратору значения сохраняют исходный порядок.
$reverse()
Сигнатура: $reverse(array)
Возвращает массив со всеми значениями array в обратном порядке.
Примеры:
$reverse(["Hello", "World"])=>["World", "Hello"][1..5] ~> $reverse()=>[5, 4, 3, 2, 1]
$shuffle()
Сигнатура: $shuffle(array)
Возвращает массив со всеми значениями array, перемешанными в случайном порядке.
Пример: $shuffle([1..9]) => [6, 8, 2, 3, 9, 5, 1, 4, 7]
$distinct()
Сигнатура: $distinct(array)
Возвращает значения array без повторов. Равенство значений проверяется глубоким сравнением, как оператором равенства.
Примеры:
$distinct([1,2,3,3,4,3,5])=>[1, 2, 3, 4, 5]$distinct(Account.Order.Product.Description.Colour)=>[ "Purple", "Orange", "Black" ]
$zip()
Сигнатура: $zip(array1, ...)
Возвращает свёрнутый (zip) массив сгруппированных массивов значений из аргументов array1 … arrayN с индексами 0, 1, 2 и далее. Функция принимает переменное число аргументов. Длина результата равна длине самого короткого входного массива.
Примеры:
$zip([1,2,3], [4,5,6])=>[[1,4] ,[2,5], [3,6]]$zip([1,2,3],[4,5],[7,8,9])=>[[1,4,7], [2,5,8]]