Thanks to visit codestin.com
Credit goes to cfdocs.org

structReduce

Iterates over every entry of the struct and calls the closure to work on the key value pair of the struct. This function will reduce the struct to a single value and will return the value.

structReduce(struct, function(result, key, value [,struct]){} [, initialVal]) → returns any

Member Function Syntax

someStruct.reduce(function(result, key, value [,struct]){} [, initialVal])

Argument Reference

struct struct
Required

The input struct.

callback any
Required

Closure or a function reference that will be called for each of the iteration.

Callback parameters:

  • result*any : The result of the reduce operation after the previous iteration
  • key*string : The key for the current iteration
  • value*any : The value for the current iteration
  • struct*struct : A reference of the original struct

initialVal any

Initial value which will be used for the reduce operation.

Links more information about structReduce

Examples
Sample code invoking the structReduce function

rainbow = { "Red"="Whero",  "Orange"="Karaka", "Yellow"="Kowhai",  "Green"="Kakariki" }; 
  ui = structReduce(  rainbow, function(previousValue, key, value) 
   { 
 return previousValue & "<dt>#key#</dt><dd>#value#</dd>"; 
  }, 
 "<dl>" 
 ) & "</dl>"; 
 writeDump(rainbow); 
 writeOutput(ui); 

CF 11+ Lucee 4.5+

rainbow = { "Red"="Whero",  "Orange"="Karaka", "Yellow"="Kowhai",  "Green"="Kakariki" }; 
  ui = rainbow.reduce( function(previousValue, key, value) 
   { 
 return previousValue & "<dt>#key#</dt><dd>#value#</dd>"; 
  }, 
 "<dl>" 
 ) & "</dl>"; 
 writeDump(rainbow); 
 writeOutput(ui); 

Signup for cfbreak to stay updated on the latest news from the ColdFusion / CFML community. One email, every friday.

Fork me on GitHub