Parameter
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 elements of an array satisfy a given condition.
Returns
True if all elements match a condition; false, otherwise.
Syntax
arrayEvery(array array, function(item, [index, [array]]) closure, [boolean parallel], [number maxThreadCount])
Member function
arrayObj.Every(callback)
History
ColdFusion (2021 release): Introduced the following parameters:
- parallel
- maxThreadCount
ColdFusion (2018 release) Update 5: Added the function.
Parameters
|
Required/Optional |
Description |
---|---|---|
array |
Required |
Array in which all elements are to be searched. |
callback |
Required |
Function that encapsulates 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> array1=[1,2,3,4,5] isEven=(x)=>return x%2==0 writeOutput(arrayEvery(array1,isEven)) // Returns False </cfscript>
Example 2
<cfscript> arrayAllEven=[2,4,6,8,10,12,14] isEven=(x)=>return x%2==0 writeOutput(arrayEvery(arrayAllEven,isEven)) // Returns True </cfscript>
Example 3
<cfscript> myarray=[2,4,6,8,10,12,14] isGT10=(element,index,array)=>return element>10 writeoutput(arrayEvery(myarray,isGT10)) // Returns True writeoutput(myarray.Every(isGT10)) // Returns False </cfscript>
Exampe 4 - Using named parameters
<cfscript> myarray=[2,5,8,1,4] callback=function(element,index,array){ return element<10 } result=ArrayEvery(array=myarray,callback=callback) writeOutput(result) // Returns True </cfscript>
Example 5 - Using arrow function
<cfscript> myarray=[2,5,8,1,4,12,29] callback=(element,index,array)=>{ return element>10 } result=ArrayEvery(array=myarray,callback=callback) writeOutput(result) // Returns False </cfscript>
Member function
<cfscript> array1=[1,2,3,4,5] isEven=(x)=>return x%2==0 writeOutput(array1.Every(isEven)) </cfscript>
Using parallelization
<cfscript> for(i=1;i<=1001;i++){ arr[i] = RepeatString("LoremIpsum",i) if (i == 1000) arr[i] = 'wwiwwxxxx' } function callback(item,index){ if( findnocase('a',item) or findnocase('e',item) or findnocase('i',item) or findnocase('o',item) or findnocase('u',item)) return true; return false; } writeoutput("<br>arrayEvery with parallel set as false: ") writeoutput(arr.every(callback)) writeoutput("<br>") try{ writeoutput("<br>arrayEvery with negative number of threads: ") writeoutput(arrayevery(arr,callback,true,-5)) }catch(any e){ writeoutput("<br>") writeoutput("Type: " & e.type & " Message:" & e.message) writeoutput("<br>") } writeoutput("<br>ArrayEvery with 10 threads: ") writeoutput(arr.every(callback,true,10)) writeoutput("<br>") try { writeoutput("<br>ArrayEvery with more than 50 threads: ") writeoutput(arr.every(callback,true,100)) writeoutput("<br>") } catch(any e){ writeoutput("<br>") writeoutput("Type: " & e.type & " Message:" & e.message) writeoutput("<br>") } writeoutput("<br>ArrayEvery with parallel set as true and with no threads specified, will take thread count from cf admin: ") writeoutput(arr.every(callback,true)) writeoutput("<br>") </cfscript>