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

Elements of Workflows