Parameter
Zuletzt aktualisiert am
30. April 2021
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,callback)
StructEvery(struct,callback)
StructEvery(struct,callback)
Member function
structObj.Every(callback)
structObj.Every(callback)
structObj.Every(callback)
History
New in ColdFusion (2018 release) Update 5: Added this function.
Parameters
|
Required/Optional |
Description |
---|---|---|
struct |
Required |
Struct in which all values are to be searched. |
callback |
Required |
Function that encapsulates the criteria. |
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>
<cfscript>
mystruct = {a=1,b=2,c=3};
doesValExist=(key,value,struct)=>return value!=1
writeoutput(structEvery(mystruct,doesValExist)) // Returns False
</cfscript>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<cfscript>
ordstruct=["key1":"abc","key2":"def","key3":"sss"]
lambdaFunc= key => key.contains("key")
writeoutput(ordstruct.Every(lambdaFunc))
</cfscript>
<cfscript> ordstruct=["key1":"abc","key2":"def","key3":"sss"] lambdaFunc= key => key.contains("key") writeoutput(ordstruct.Every(lambdaFunc)) </cfscript>
Output
YES