Array Functions and Properties

Array Functions and Properties

In this Page

Array Literals

Array literals function similar to JavaScript array literals.
However, extra commas in array literals are not supported.

Example:

["SnapLogic", "Data", "Integration"]

concat

Description

Returns a new array comprised of this array joined with the arrays or values provided as arguments. The concat function also works with Uint8 arrays.

This is similar to the JavaScript concat.

Syntax

array.concat(array2,array3...)

Examples

Expression$head.concat($middle,$tail)

Where $head, $middle, and $tail are all arrays.

Result: A new array of the target path name containing all three arrays.

filter

Description

Returns a new array containing only the elements for which the given callback returned true.

This is similar to the JavaScript Array.filter() method.

Syntax

array.filter(callback)

Examples

Expression: $myarray.filter(x => x > 5)

where $myarray is a normal array

Result: A new array containing numbers greater than five.


To remove duplicate entries in an array:

Expression$myarray.filter((item, pos, a) => a.indexOf(item) == pos)

where $myarray is a normal array containing ["Fred", "Wilma", "Fred", "Betty", "Fred", "Barney"]

Result: A new array containing [Fred, Wilma, Betty, Barney].

Downloads

find

Description

Returns the first element found for which the given callback returns true.
This is similar to the JavaScript Array.find() method.

Syntax

array.find(callback)

Examples

Expression: $myarray.find(x => x > 5)

where $myarray is a normal array

Result: The first element whose value is greater than five.

findIndex

Description

Returns the index of the first element for which the given callback returns true. If no match is found, -1 is returned.
This is similar to the JavaScript Array.findIndex() method.

Syntax

array.findIndex(callback)

Examples

Expression: $myarray.findIndex(x => x > 5)

where $myarray is a normal array

Result: The index of the first element whose value is greater than five.

indexOf

Description

Returns the first index at which a given element can be found in the array or -1 if it is not present.

This is similar to the JavaScript indexOf.

Syntax

array.indexOf(element)

Examples

Expression: $Array.indexOf(0)

where $Array contains [0, 2, 4, 6, 8]

Result: 0

Expression: $Array.indexOf(1)

where $Array contains [0, 2, 4, 6, 8]

Result: -1

lastIndexOf

Description

Returns the last index at which a given element can be found in the array.

This is similar to the JavaScript lastIndexOf.

Syntax

array.lastIndexOf(element)

Examples

Expression: $first.lastIndexOf(0)

where $first contains [0, 2, 4, 6, 8]

Result: 0

length

Description

The number of elements in an array.

This is similar to the JavaScript length.

Syntax

array.length

Examples

Expression: $array.length

Result: A number.

join

Description

Joins all elements of an array into a string.

This is similar to the JavaScript join.

Syntax

array.join(optseparator)

where optseparator is an optional string to separate the elements. If omitted, a comma is used.

Examples

Expression: ["SnapLogic", "Data", "Integration"].join(" ")

Result: the string SnapLogic Data Integration

map

Description

Returns a new array with the values transformed by the given callback.
This is similar to the JavaScript Array.map() method.

Syntax

array.map(callback)

Examples

Expression: $myarray.map(x => x * 10)

where $myarray is an array

Result: A new array where the elements have been multiplied by ten.

pop

Description

Removes the last element from an array and returns that element.

This is similar to the JavaScript pop.

Syntax

array.pop()

Examples

Expression: $Array.pop()

Result: The last element of the array.

push

Description

Adds one or more elements to the end of an array and returns the new length of the array.

This is similar to the JavaScript push.

Syntax

array.push(element1, ..., elementN)

Examples

Expression: $Array.push("Mobile", "Email")

Result: Mobile and Email will be added to that array and the new length of the array is returned.

reduce

Description

Reduces an array to a single value using the given callback. For each element in the array, the callback is called with four arguments: the accumulated value (the result from previous calls or the initialValue), the value of the current element, the index of the current element, and the array itself.  The exact behavior will change based on whether an initial value is provided.  If no value is provided, the callback is called with the first element in the array as the accumulated value and the second element as the current value.  If an initial value is provided, then the first call uses the initial value as the accumulated value and the first element as the current value.  In general, it is safest to provide an initial value.
This is similar to the JavaScript Array.reduce() method.

Syntax

array.reduce(callback, [initialValue])

Examples

Expression: $myarray.reduce((accum, currentValue) => accum + currentValue, 0)

where $myarray is an array

Result: The sum of all of the elements in the array.

reduceRight

Description

Like the reduce() method, except the elements are traversed right-to-left instead of left-to-right.
This is similar to the JavaScript Array.reduceRight() method.

Syntax

array.reduceRight(callback, [initialValue])

Examples

Expression: $myarray.reduceRight((accum, currentValue) => accum + currentValue, 0)

where $myarray is an array

Result: Builds a string of the elements in reverse order.

reverse

Description

Transposes the elements of the calling array object in place, mutating the array, and returning a reference to the array.

This is similar to the JavaScript reverse.

Syntax

array.reverse

Examples

Expression: $Array.reverse

Result: Returns the array in reverse order.

shift

Description

Removes the first element from an array and returns that element. This method changes the length of the array.

This is similar to the JavaScript shift.

Syntax

array.shift()

Examples

Expression: $Array.shift()

Result: The first element from an array.

slice

Description

Returns a shallow copy of an array containing copies of the original elements.

This is similar to the JavaScript slice.

Syntax

array.slice(begin,end)

Examples

Expression: $Array.slice(1,3)

where $Array contains [0, 2, 4, 6, 8]

Result: [2,4]

sort

Description

Returns a lexicographically and case-sensitively sorted array, by default. You can leverage other attributes like .compare(), .foreach() to customize these outputs.

This is similar to the JavaScript sort.

Syntax

array.sort()

Examples

Consider an array:

list = [45, 7, 23, 88, 12];

Expression$list.sort(); //Default sort order is ascending order of the strings

Result: [12, 23, 45, 7, 88];

Expression$list.sort((a, b) => a - b); //Ascending order of the numbers

Result: [7, 12, 23, 45, 88];

Expression$list.sort((a, b) => b - a); //Descending order of the numbers

Result: [88, 45, 23, 12, 7];

Consider an array: 

colors = ["Blue", "beige", "Maroon", "cyan"];

Expression$colors.sort() //Case-sensitive sorting, by default

Result: ['Blue', 'Maroon', 'beige', 'cyan']

Expressionfruits.sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); //Case-insensitive sorting

Result['beige', 'Blue', 'cyan', 'Maroon']

Consider an array of objects: 

employees = [ { name: "John", age: 28 }, { name: "Alice", age: 35 }, { name: "Bob", age: 23 } ];

Expression$employees.sort((a, b) => a.age - b.age) // Sort by age (ascending)

Result: [ { name: "Bob", age: 23 }, { name: "John", age: 28 }, { name: "Alice", age: 35 } ];

Expression$employees.sort((a, b) => a.name.localeCompare(b.name)) // Sort by name (alphabetical order)

Result: [ { name: "Alice", age: 35 }, { name: "Bob", age: 23 }, { name: "John", age: 28 } ];

splice

Description

Lets you remove and insert elements in an array and returns an array containing the elements removed

This is similar to the JavaScript splice.

Syntax

array.splice(begin,digit,item...)

where:

  • begin is the index where to start changing the array

  • digit is the number of items to remove

  • item is the items to insert

Examples

For an array, $Contacts, defined as:

[ { "Contacts": [ "First", "Last", "Street", "City", "Zip" ] } ]

 

Expression: $Contacts.splice(2,0,'Business')

Result: Removes nothing, but inserts "Business" after "Last".


Expression: $Contacts.splice(4,1,'State')

Result: Removes "Zip", inserts "State", returns "Zip" in the output view.

toObject

Description

Performs arrow functions on the values of the array to generate the key/value pair in the object returned by the callback, and, if given, a second callback.

Syntax

array.toObject(callback, callback 2)

Examples

Expression: [1,2,3,4].toObject(x => x, x => x * x)

Result: {“1”:1, “2”:4, “3”:9, “4”:16}



Expression: ['zero', 'one', 'two'].toObject((x, index) => index, x => x.contains('two'))
Result: {"0": false, "1": false, "2": true}

toString

Description

Returns one string containing each array element separated by commas.

This is similar to the JavaScript toString.

Syntax

array.toString()

Examples

Expression: $Array.toString()

Result: Returns a string containing a comma-separated list of the array elements.

Uint8Array.Of

Description

Creates a new Uint8 array from a variable number of arguments.

This is similar to the JavaScript TypedArray.of().

Syntax

Uint8Array.Of()

Examples

Expression: Uint8Array.Of()

Result: [ 0 ]

Creates an empty array.

Expression: Uint8Array.of(1,2,3,4)

Result: [ 1, 2, 3, 4 ]

Uint8Array.subarray()

Description

Returns a new subarray from an Uint8 array, where the arguments are the indexes begin and end offsets.

This is similar to the JavaScript TypedArray.subarray().

Syntax

Uint8Array.subarray()

Examples

ExpressionUint8Array.subarray (1,3)

Where Uint8Array is [1, 2, 3, 4]

Result[2, 3]

Uint8Array.indexOf()

Description

Returns the first index at which a given element is present. If the element is not present, the result is -1. 

This is similar to the JavaScript TypedArray.indexOf().

Syntax

Uint8Array.indexOf()

Examples

Expressionuint8.indexOf(8)

Where Uint8Array is [1, 2, 3, 4, 5]

Result: -1

Expression: uint8.indexOf(3)

Where Uint8Array is [1, 2, 3, 4, 5, 6, 7, 8]

Result: 2

Uint8Array.lastindex.Of()

Description

Returns the last index at which a given element is present. If the element is not present, the result is -1.

This is similar to the JavaScript lastIndexOf().

Syntax

Uint8Array.lastindexOf()

Examples

ExpressionUint8Array.lastindexOf(30)