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

StructEvery

Last update:
May 18, 2026
Note:
You can also set the maximum thread count in ColdFusion Administrator. Click Server Settings > Settings and specify the number of threads in Default Maximum Thread Count For Parallel Functions.

Description

Determines if all values of a struct satisfy a given condition.

Returns

True if all values match a condition; false, otherwise.

Syntax

structEvery(struct, closure [, parallel] [, maxThreadCount])
Member function
structObj.Every(callback)

History

ColdFusion (2021 release): Introduced the following parameters:
  • parallel
  • maxThreadCount
ColdFusion (2018 release) Update 5: Added this function.

Parameters

Parameter
Required/Optional
Description
struct
Required
Struct in which all values are to be searched.
callback
Required
Function that encapsulates the criteria.
parallel
Optional
True if you want to enable parallel programming.
maxThreadCount
Optional
The number of threads the function can execute. The number of threads must be between 1-50. If the value exceeds 50, there is an exception.

Example

Example 1
<cfscript> 
 mystruct = {a=1,b=2,c=3}; 
 doesValExist=(key,value,struct)=>return value!=1 
 writeoutput(structEvery(mystruct,doesValExist)) // Returns False 
</cfscript>
Output
NO
Example 2
<cfscript>
 structEven={a=2,b=4,c=8,d=10,e=12}
 isEven=(key,value)=>return value%2==0
 writeOutput(StructEvery(structEven,isEven)) // Returns True
</cfscript>
Output
YES
Member function
<cfscript> 
 structEven={a=2,b=4,c=8,d=10,e=12} 
 isEven=(key,value)=>return value%2==0 
 writeOutput(structEven.Every(isEven)) // Returns True 
</cfscript>
Example 3 - Named parameters
<cfscript> 
    mystruct={"key1":"aval","key2":"aval1","key3":"aval2"} 
    result=StructEvery(struct=mystruct,callback=function(key,val){ 
        if (val.startswith("a")) 
              return 1 
        else 
              return 0 
            } 
    ) 
    writeOutput(result) 
</cfscript>
Output
YES
Arrow function
<cfscript> 
 ordstruct=["key1":"abc","key2":"def","key3":"sss"] 
    lambdaFunc= key => key.contains("key") 
    writeoutput(ordstruct.Every(lambdaFunc)) 
</cfscript>
Output
YES
Using parallelization
<cfscript> 
mystruct= Structnew("ordered"); 
for(i=1;i<=10000;i++){ 
mystruct.insert("key#i#","val#i#") 
 
 

function callback(key,val){ 
if(isObject(val)) 
 return false 
return true 
 } 
   
  
        writeoutput(mystruct.some(callback,false)) 
  
 writeoutput(structsome(struct=mystruct,callback=callback,parallel=true,maxthreadcount=10)) 
 writeoutput(structsome(struct=mystruct,callback=callback,parallel=true)) 
  
 try{ 
 writeoutput(structsome(struct=mystruct,callback=callback,parallel=true,maxthreadcount=-10))} 
 catch(any e){ 
  writeoutput("<br>Type: " & e.type & " Message:" &  e.message ) 

  
  
  
 try{ 
 writeoutput(structsome(struct=mystruct,callback=callback,parallel=true,maxthreadcount=100))} 
 catch(any e){ 
  writeoutput("<br>Type: " & e.type & " Message:" &  e.message ) 

</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