Mapping arrays
An array is a special type of item. A simple array contains one or more text values. A complex array contains one or more collections of the same type. An example of a complex array is the email attachment. The Watch emails module returns an array of attachments for every email. Every attachment represents a collection that may contain a name, content, size, etc.
Mapping an array's first element
If you map the array's Recipient name
item, it will appear in the field like this:
The number between the square brackets is an index that determines which element of the array will be used. Leaving it empty defaults to the first element.
Mapping an array's nth element
If you wish to access another element, enter or map a value between the square brackets. In the below example, enter 2 to select the second element.
Mapping an array's element with a given key
Some arrays contain several collections with key and value items. These are typically various metadata, attributes, etc.
The following example shows the output of the WooCommerce > Get a product module that contains the item Meta data
, which is an array of collections. Each collection contains the key item Meta Data ID
and the value item Value
:
The typical requirement is to lookup an element by its given key value and to obtain the corresponding value from the value item. This can be achieved with a formula employing a combination of themap ()
andget ()
functions.
The following example shows how to obtain the value of the Value
item of the element with key Meta data ID
item value equal to 20642
The result of the formula will be "no".
The detailed breakdown of the formula follows:
The 1st parameter of the
map()
function is the whole array item.The 2nd parameter is the raw name of the value item. To obtain the raw name, hover the mouse cursor over the item in the mapping panel:
Important
All parameters are case sensitive. Even though in this particular example the item's label differs from its raw name only in capitalization, it is necessary to use the raw name, which is all lowercase
value
in contrast to the labelValue
The 3rd parameter is the raw name of the key item:
The 4th parameter is the given key value.
Because the map()
function returns an array (as there could be more elements with the given key value), it is necessary to apply the get()
function to get its first element:
The 1st parameter of the
get()
function is the result of themap()
function.The 2nd parameter is the element's index - one.
See also our Extract an item and/or its value from an array of collections video tutorial.
Converting elements to a series of bundles
Arrays can be converted to a series of bundles using the Iterator module:
Important
The outputs from modules wrapped between an Iterator and Aggregator are not accessible beyond the Aggregator module.