Index By

This function is designed for a common API pattern, where a service returns a list of field values as a list of objects which each contain a field name as one key, and a field value as another key.

In that case, this function can be useful in converting that list into an object that contains each field as a key-value pair. Index By solves this problem by letting you specify a keyPath and a valuePath. For each item in the list, the function creates a new key-value pair in the output object.

For example, if you have this list: [{"fieldname":"x","myvalue":"one"},{"fieldname":"y","myvalue":"two"},{"fieldname":"z","myvalue":"three"}] and use Index By with keyPath="fieldname" and valuePath="myvalue", then the output is the following object: {"x":"one","y":"two","z":"three"}

Input

  • list (list of objects): a list of objects

  • keyPath (text): the key in the object that has the key names ("fieldname" in the above example)

  • valuePath (text): the key that contains the values ("myvalue" in the above example)

Output

  • output (object): an object containing the key/value pairs defined by the input list

Related topics

Lists

Functions in Workflows

Workflow elements