Parameter
Description
This function creates a structure.
Returns
A structure. If value to be passed in the argument is "ordered", the function returns an ordered structure, which maintains the insertion order of structure elements.
Category
History
ColdFusion (2021 release): Introduced the following types of structs to be created:
- ordered-casesensitive
- casesensitive
ColdFusion (2018 release): Introduced named parameters.
ColdFusion (2016 release) Update 3: Added support for sorted structs.
ColdFusion (2016 release): Added support for ordered structs.
Syntax
StructNew(type, sortType, sortOrder, localeSensitive)
StructNew(type,callback)
See also
Structure functions; Structure functions in the Developing ColdFusion Applications guide.
Parameters
|
|
Description |
|
type |
(Optional) The type of struct to be created. This is new in Adobe ColdFusion (2016 release). You can specify either "Ordered" or leave structType blank. |
|
sortType |
(Optional) Sort types are text or numeric. |
|
sortOrder |
(Optional) Ascending ("asc") or descending ("desc"). |
|
localeSensitive |
(Optional) True or false. |
|
callback |
(Optional) A comparator function that compares the keys and returns 1, 0, or -1. |
Example
<cfscript>
myStruct=StructNew("Ordered");
myStruct.item1="Old Trafford";
myStruct.item2="Anfield";
myStruct.item3="Stamford Bridge";
myStruct.item4="Villa Park";
myStruct.item5="St James Park";
myStruct.item6="Emirates Stadium";
myStruct.item7="Etihad Stadium";
WriteDump(myStruct);
</cfscript>
Output
Example with sortorder
<cfscript>
// Create a struct of type ordered with sort type as text and sort order as ascending.
someStruct=StructNew("ordered","text","asc",false);
someStruct.jonas = {age=26, department="IT"};
someStruct.jason= {age=29, department="Analytics"};
someStruct.johnnie = {age=31, department="Accounting"};
someStruct.john = {age=31, department="Audit"};
WriteDump(someStruct);
</cfscript>
Output
Example with callback
<cfscript>
sorted = structNew("ordered", function(e1value,e2value,e1key,e2key)
{
return compare(e1key,e2key);
});
sorted.azure = "blue";
sorted.adze = "tool";
sorted.baffle = 01;
sorted.adamantium = "dork";
sorted.alabama = 3;
sorted.ballad = 007;
sorted.age = 36;
sorted.aabc= "allardyce";
sorted.baleful="hodgson";
sorted.aardvark=-7;
sorted.back="sort";
writedump(sorted);
</cfscript>
Example- case sensitive struct
<cfscript>
animals=StructNew("casesensitive")
animals.Aardwolf="Proteles cristata"
animals.Aardvark="Orycteropus afer"
animals.Alligator="Mississippiensis"
animals.Albatross="Diomedeidae"
writeDump(animals)
</cfscript>
Output
Example 2- Case sensitive struct
<cfscript>
animals=StructNew("casesensitive")
animals.Aardwolf="Proteles cristata"
animals.aardvark="Orycteropus afer"
animals.Alligator="Mississippiensis"
animals.albatross="Diomedeidae"
writeDump(animals)
</cfscript>
Output
Example- Ordered case sensitive struct
<cfscript>
animals=StructNew("ordered-casesensitive")
animals.Aardwolf="Proteles cristata"
animals.Aardvark="Orycteropus afer"
animals.Alligator="Mississippiensis"
animals.Albatross="Diomedeidae"
writeDump(animals)
</cfscript>
Output
Example 2- Ordered case sensitive struct
<cfscript>
animals=StructNew("ordered-casesensitive")
animals.Aardwolf="Proteles cristata"
animals.aardvark="Orycteropus afer"
animals.alligator="Mississippiensis"
animals.Albatross="Diomedeidae"
writeDump(animals)
</cfscript>
Output
