Array functions

add (array; value1; value2; ...)

Adds values specified in parameters to an array and returns that array.

contains (array; value)

Verifies if an array contains the value.

distinct (array; [key])

Removes duplicates inside an array. Use the key argument to access properties inside complex objects. To access nested properties, use dot notation. The first item in an array is index 1.

distinct( Contacts[] ; name )

= Removes duplicates inside an array of contacts by comparing the name property.

flatten (array)

Creates a new array with all sub-array elements concatenated into it recursively up to the specified depth.

More details about flatten function can be found at the Array.prototype.flat documentation.

join (array; separator)

Concatenates all the items of an array into a string, using a specified separator between each item.

keys (object)

Returns an array of a given object's or array's properties.

length (array)

Returns the number of items in an array.

map (complex array; key;[key for filtering];[possible values for filtering separated by a comma])

Returns a primitive array containing values of a complex array. Allows filtering values. Use raw variable names for keys.

map( Emails[] ; email )

= Returns a primitive array with emails.

map( Emails[] ; email ; label ; work,home )

= Returns a primitive array with emails that have a label equal to work or home.

See also Mapping: Accessing array's elements by a key and our Extract an item and/or its value from an array of collections video tutorial.

merge (array1; array2; ...)

Merges two or more arrays into one array.

remove (array; value1; value2; ...)

Removes values specified in the parameters of an array. Effective only in case of primitive arrays of text or numbers.

reverse (array)

The first element of the array becomes the last element and vice versa.

slice (array; start; [end])

Returns a new array containing only selected items.

sort (array; [order]; [key])

Sorts values of an array. The valid values of the order parameter are:

  • asc (default) - ascending order: 1, 2, 3, ... for type Number. A, B, C, a, b, c, ... for type Text.

  • desc - descending order: ..., 3, 2, 1 for type Number. ..., c, b, a, C, B, A for type Text.

  • asc ci - case insensitive ascending order: A, a, B, b, C, c, ... for type Text.

  • desc ci - case insensitive descending order: ..., C, c, B, b, A, a for type Text.

Use the key parameter to access properties inside complex objects. Use raw variable names for keys. To access nested properties, use dot notation. The first item in an array is index 1.

Example 1. sort( Contacts[] ; name )

Sorts an array of contacts by the name property in default ascending order.



Example 2. sort( Contacts[] ; desc ; name )

Sorts an array of contacts by the name property in descending order.



Example 3. sort( Contacts[] ; asc ci ; name )

Sorts an array of contacts by the name property in case insensitive ascending order.



Example 4. sort( Emails[] ; sender.name )

Sorts an array of emails by the sender.name property.