# Array Functions (Standard JSONata)

> Standard JSONata array functions available in expressions throughout the Fuuz platform. Note: This page covers the standard JSONata array functions. For…

Source: https://www.fuuz.com/help/array-functions
Last updated: 2026-06-16

How-To Guides · Expressions and scripting


Last updated June 16, 2026, 1:07 PM UTC

Standard JSONata array functions available in expressions throughout the Fuuz platform.

> **Note:** This page covers the standard JSONata array functions. For Fuuz-specific custom functions, see Array Functions Platform Architecture.

## `$count()`

**Signature:** `$count(array)`

Returns the number of items in the `array` parameter. If the `array` parameter is not an array, but rather a value of another JSON type, then the parameter is treated as a singleton array containing that value, and this function returns `1`.

If `array` is not specified, then the context value is used as the value of `array`.

**Examples**

- `$count([1,2,3,1])` => `4`
- `$count("hello")` => `1`

## `$append()`

**Signature:** `$append(array1, array2)`

Returns an array containing the values in `array1` followed by the values in `array2`. If either parameter is not an array, then it is treated as a singleton array containing that value.

**Examples**

- `$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()`

**Signature:** `$sort(array [, function])`

Returns an array containing all the values in the `array` parameter, but sorted into order. If no `function` parameter is supplied, then the `array` parameter must contain only numbers or only strings, and they will be sorted in order of increasing number, or increasing unicode codepoint respectively.

If a comparator `function` is supplied, then it must be a function that takes two parameters:

`function(left, right)`

This function gets invoked by the sorting algorithm to compare two values `left` and `right`. If the value of `left` should be placed after the value of `right` in the desired sort order, then the function must return Boolean `true` to indicate a swap. Otherwise it must return `false`.

**Example**

```
$sort(Account.Order.Product, function($l, $r) {
  $l.Description.Weight > $r.Description.Weight
})

```

This sorts the products in order of increasing weight.

The sorting algorithm is *stable* , which means that values within the original array which are the same according to the comparator function will remain in the original order in the sorted array.

## `$reverse()`

**Signature:** `$reverse(array)`

Returns an array containing all the values from the `array` parameter, but in reverse order.

**Examples**

- `$reverse(["Hello", "World"])` => `["World", "Hello"]`
- `[1..5] ~> $reverse()` => `[5, 4, 3, 2, 1]`

## `$shuffle()`

**Signature:** `$shuffle(array)`

Returns an array containing all the values from the `array` parameter, but shuffled into random order.

**Examples**

- `$shuffle([1..9])` => `[6, 8, 2, 3, 9, 5, 1, 4, 7]`

## `$distinct()`

**Signature:** `$distinct(array)`

Returns an array containing all the values from the `array` parameter, but with any duplicates removed. Values are tested for deep equality as if by using the equality operator (see [Comparison Operators](https://www.fuuz.com/help/comparison-operators)).

**Examples**

- `$distinct([1,2,3,3,4,3,5])` => `[1, 2, 3, 4, 5]`
- `$distinct(Account.Order.Product.Description.Colour)` => `["Purple", "Orange", "Black"]`

## `$zip()`

**Signature:** `$zip(array1, ...)`

Returns a convolved (zipped) array containing grouped arrays of values from the `array1` ... `arrayN` arguments from index 0, 1, 2, etc.

This function accepts a variable number of arguments. The length of the returned array is equal to the length of the shortest array in the arguments.

**Examples**

- `$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]]`

## See Also

- [Aggregation Functions](https://www.fuuz.com/help/aggrigation-functions)
- [Boolean Functions](https://www.fuuz.com/help/boolean-functions)
- [Comparison Operators](https://www.fuuz.com/help/comparison-operators)
- [Jsonata Tutorial](https://www.fuuz.com/help/jsonata-tutorial)

### Need more help?

Ask the Fuuz community, or open a ticket with Fuuz support.

[Ask the community](https://www.fuuz.com/community) [Open a ticket](https://support.fuuz.com/portal/en/newticket)

On this page

[$count()](#count)

[$append()](#append)

[$sort()](#sort)

[$reverse()](#reverse)

[$shuffle()](#shuffle)

[$distinct()](#distinct)

[$zip()](#zip)

[See Also](#see-also)
