StructMap()

Calls the given closure with every element in the given struct. the function returns a struct that contains all values returned by the closure.

StructMap( struct=struct, closure=function, parallel=boolean, maxThreads=number );

Returns: Struct

Argument Description Default
struct
struct, required

struct to iterate

Alias: structure

closure
function, required

filter can be a function/closure that implements the following constructor

[function(string key, any value[, struct struct]):any].

Alias: function, callback, udf

parallel
boolean, optional

execute closures parallel

maxThreads
number, optional

maximum number of threads executed, ignored when argument "parallel" is set to false

Alias: maxThreadCount

20

Examples

structmap examples

sct=structNew("linked");
		sct.a=1;
		sct.b=2;
		sct.c=3;
	writedump(var=sct, label="original struct");
<span class="c">// base test</span>
<span class="nv">res</span><span class="o">=</span><span class="nf">StructMap</span><span class="p">(</span><span class="nv">sct</span><span class="p">,</span> <span class="nf">function</span><span class="p">(</span><span class="nv">key</span><span class="p">,</span> <span class="nv">value</span> <span class="p">){</span>
					<span class="nv">return</span> <span class="nv">key</span><span class="o">&amp;</span><span class="s2">&quot;:&quot;</span><span class="o">&amp;</span><span class="nv">value</span><span class="p">;</span>
                    <span class="p">},</span><span class="nv">true</span><span class="p">);</span>
<span class="nf">writedump</span><span class="p">(</span><span class="k">var</span><span class="o">=</span><span class="nv">res</span><span class="p">,</span> <span class="nv">label</span><span class="o">=</span><span class="s2">&quot;mapped struct&quot;</span><span class="p">);</span>

See also