%dw 2.0
output application/json
---
{"a":"b","c":"d"} pluck (value,key,index) -> { (index) : { (value):key} }pluck
pluck({ (K)?: V }, (value: V, key: K, index: Number) -> R): Array<R>
Useful for mapping an object into an array, pluck iterates over an object
and returns an array of keys, values, or indices from the object.
It is an alternative to mapObject, which is similar but returns
an object, instead of an array.
Parameters
| Name | Description | 
|---|---|
| 
 | The object to map. | 
| 
 | Expression or selector that provides the  | 
Example
This example iterates over { "a":"b","c":"d"} using the
anonymous mapper function ((value,key,index) → { (index) : { (value):key} })
to invert each key-value pair in the specified object and to return their
indices as keys. The mapper uses named parameters to identify
the keys, values, and indices of the object. Note that you can write
the same expression using anonymous parameters, like this:
{"a":"b","c":"d"} pluck { ($$$) : { ($):$$} }
Unlike the almost identical example that uses mapObject, pluck returns
the output as an array.
Example
This example uses pluck to iterate over each element within <prices/>
and returns arrays of their keys, values, and indices. It uses anonymous
parameters to capture them. Note that it uses as Number to convert the
values to numbers. Otherwise, they would return as strings.



