STRUCTSORT | |
説明
構造体のトップレベルのキーを取り出してソートした配列を返します。ソートはアルファベット順か数値順で、構造体の任意の要素の値に基づいて行うことができます。 |
|
戻り値
トップレベルのキー名 (文字列) の配列。指定したサブ要素の値に基づいてソートされています。 |
|
カテゴリ
構造体関数 |
|
関数のシンタックスStructSort(base, sortType, sortOrder, pathToSubElement) |
|
関連項目
構造体関数、『ColdFusion MX 開発ガイド』の第5章の「配列と構造体の使用」 の「構造体関数」 |
|
パラメータ
|
|
使用方法
pathToSubElement 文字列では、配列表記はサポートされていません。また、構造体のサブ構造体だけがサポートされます。 この関数では、構造体そのものに対するソートや変更は行われません。 |
|
例<cfscript> salaries = StructNew() ; employees = StructNew() ; departments = StructNew() ; for ( i=1; i lt 6; i=i+1 ) { salary = 120000 - i*10000 ; salaries["employee#i#"] = salary ; employee = StructNew() ; employee["salary"] = salary ; // employee.salary = salary ; employees["employee#i#"] = employee ; departments["department#i#"] = StructNew() ; departments["department#i#"].boss = employee ; } </cfscript> <cfoutput> <p>給与でソートした従業員のリスト (テキスト順):<br> 1) #ArrayToList( StructSort( salaries ) )#<br> 2) #ArrayToList( StructSort( salaries, "text", "ASC" ) )#<br> 3) #ArrayToList( StructSort( salaries, "textnocase", "ASC" ) )#<br> 4) #ArrayToList( StructSort( salaries, "text", "DESC" ) )#<br> <p>給与でソートした従業員のリスト (数値順):<br> 5) #ArrayToList( StructSort( salaries, "numeric", "ASC" ) )#<br> 6) #ArrayToList( StructSort( salaries, "numeric", "DESC" ) )#<br> <p>給与でソートした従業員のリスト (サブフィールドによる):<br> 7) #ArrayToList( StructSort( employees, "numeric", "DESC", "salary" ) )#<br> 8) #ArrayToList( StructSort( employees, "text", "ASC", "salary" ) )#<br> <p>給与でソートした部門のリスト (サブサブフィールドによる):<br> 9) #ArrayToList( StructSort( departments, "text", "ASC", "boss.salary" ) )#<br> </cfoutput> <!--- 無効な要素を追加し、それによって例外が発生することをテスト ---> <p><p> <cfset employees[ "employee4" ] = StructNew()> <cftry> <cfset temp = StructSort( employees, "text", "ASC", "salary" )> <cfoutput>ここに来たとしたら問題です。本来は上の行で例外が発生しているはずです。<br> </cfoutput> <cfcatch type="any"> <cfoutput> ERROR:<b>予定どおりエラーとなりました。</b><br> #cfcatch.message# - #cfcatch.detail#<br> </cfoutput> </cfcatch> </cftry> |
BASE | |
1 つのフィールド (連想配列) を持つ構造体です。 |
SORTTYPE | |
SORTORDER | |
PATHTOSUBELEMENT | |
文字列、または文字列を含んでいる変数です。 | |
ソートのキーとなる要素の値にアクセスするためのパスです。トップレベルの各キーからの パスで指定します。デフォルト値は、なしです (トップレベルのエントリ自身の値に基づい てソートが行われます)。 |