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

setNew

Last update:
May 18, 2026
Creates a new empty Set (optional variant: ordered, nocase, ordered-nocase).

Description

Sets store unique elements. Duplicate inserts are ignored. Use setNew() for the default unordered case-sensitive set, or pass a variant string for ordered or case-insensitive behavior.

Returns

A Set object.

Category

ColdFusion Set functions and member methods

Function syntax

setNew()
setNew(variant)

Parameters

ParameterDescription
variantOptional string: ordered, nocase, or ordered-nocase.

See also

Example

The following example uses this API in cfscript (syntax: setNew()).
 


<cfscript>
    // Default: unordered, case-sensitive
    tags = setNew();
    tags.add("cfml");
    tags.add("sql");
    writeOutput(tags.size()); // 2

    // Ordered: iteration / toArray follow insert order
    steps = setNew("ordered");
    steps.add("validate");
    steps.add("save");
    steps.add("notify");

    // Case-insensitive membership
    roles = setNew("nocase");
    roles.add("Admin");
    writeOutput(roles.has("admin")); // true
</cfscript>
      

Example

 

<cfscript>
    /**
    * Collect distinct session IDs from an array of structs (e.g. parsed log rows).
    */
    function uniqueSessionIds(required array logRows) {
        var ids = setNew("ordered"); // stable order for reporting
        for (var row in logRows) {
            if (structKeyExists(row, "sessionId") && len(trim(row.sessionId))) {
                ids.add(trim(row.sessionId));
            }
        }
        return ids.toArray();
    }

    rows = [
        { "sessionId": "abc", "event": "view" },
        { "sessionId": "abc", "event": "click" },
        { "sessionId": "xyz", "event": "view" }
    ];
    writeOutput(serializeJSON(uniqueSessionIds(rows))); // ["abc","xyz"]
</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