layout | title | categories | published | alias | tags | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
default |
maparray |
|
true |
reference-functions-maparray.html |
|
Prototype: maparray(pattern, array)
Return type: slist
Description: Returns a list with each array element modified by a pattern.
The $(this.k)
and $(this.v)
variables expand to the key and value of the
array element, similar to the way this
is available for maplist
.
If a value in the array is an slist
, you'll get one result for each
value (implicit looping).
The order of the array keys is not guaranteed. Use the sort
function if you need order in the resulting output.
Arguments:
-
pattern
: Pattern based on$(this.k) and $ (this.v) as original text, in the range.*
-
array
: The name of the array variable to map, in the range[a-zA-Z0-9_$(){}\[\].:]+
Example:
bundle agent run
{
vars:
"todo[1]" string => "2";
"todo[one]" string => "two";
"todo[3999]" slist => { "big", "small" };
"map" slist => maparray("yes $(this.k) $(this.v)", "todo");
reports:
"Hello $(map)";
}
Output:
Hello yes 1 2
Hello yes one two
Hello yes 3999 big
Hello yes 3999 small