%dw 2.0
output application/json
---
["jose", "pedro", "mateo"] map (value, index) -> { (index) : value}
map
DataWeave 2.2 is compatible and bundled with Mule 4.2. This version of Mule reached its End of Life on May 2, 2023, when Extended Support ended. Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted. MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements. |
map(Array<T>, (item: T, index: Number) -> R): Array<R>
Iterates over items in an array and outputs the results into a new array.
Parameters
Name | Description |
---|---|
|
The array to map. |
|
Expression or selector used to act on each |
Example
This example iterates over an input array (["jose", "pedro", "mateo"]
) to
produce an array of DataWeave objects. The anonymous function
(value, index) → {index: value}
maps each item in the input to an object.
As {index: value}
shows, each index from the input array becomes a key
for an output object, and each value of the input array becomes the value of
that object.
Example
This example iterates over the input array (['a', 'b', 'c']
) using
an anonymous function that acts on the items and indices of the input. For
each item in the input array, it concatenates the index + 1
(index
plus 1)
with an underscore (_
), and the corresponding value
to return the array,
[ "1_a", "2_b", "3_c" ]
.
Example
If the parameters of the mapper
function are not named, the index can be
referenced with $$
, and the value with $
. This example
iterates over each item in the input array ['joe', 'pete', 'matt']
and returns an array of objects where the index is selected as the key.
The value of each item in the array is selected as the value of
the returned object. Note that the quotes around $$
are necessary to convert the numeric keys to strings.