Whatever message this page gives is out now! Go check it out!

setReduce

Last update:
Jun 9, 2026
Iterates over an array and reduces it to a single value by applying a callback function to each element.

Description

setReduce iterates over an array and reduces it to a single value by applying a callback function to each element. It is useful for operations like summing, concatenating, or aggregating data.

Returns

Single value

Category

ColdFusion Set helper utilities

Function syntax

utils.setReduce(set, callback, initialValue)

Parameters

ParameterDescription
setSource set.
callbackfunction(acc, item) { return nextAcc; }
initialValueStarting accumulator.

See also

Example

The following example uses this API in cfscript (syntax: utils.setReduce(set, callback, initialValue)).

<cfscript>
    s = setNew();
    s.add(1);
    s.add(2);
    s.add(3);
    s.add(4);
    s.add(5);

    reducedSet=setReduce(s,function(value,element){
        value = value ?: 0; // Initialize value if null
        return value + element;
    },0);
    writeOutput(reducedSet) //15
</cfscript>
      

Real-world example

Pick the longest string in a set of labels.

<cfscript>
    regions = setNew("ordered");
    regions.add("EMEA");
    regions.add("APAC");
    regions.add("AMER");

    regionList = setReduce(regions, function (value, element) {
        return len(value) ? value & "," & element : element;
    }, "");

    writeOutput(regionList); // EMEA,APAC,AMER
</cfscript>
      

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page