I would like to test:
<cfif Exists(MyStruct['mittens'])> </cfif>
If the ‘mittens’ key doesn’t exist in MyStruct, what will it return? 0, or ”??
What should replace Exists function?
UPDATE
I tried,
<cfif IsDefined(MyStruct.mittens)>
Which also throws the error
Element Mittens is undefined in MyStruct.
To test for key existence, I recommend:
Behind the scenes this calls the
containsKey()method of the java.util.map the ColdFusion struct is based on. This is arguably the fastest method of finding out if a key exists.The alternative is:
Behind the scenes this calls
Eval()on the passed string (or so I believe) and tells you if the result is a variable reference. In comparison this is slower thanStructKeyExists(). On the plus side: You can test for a sub-key in a nested structure in one call: