基於第一個example in this blog post,我有一個隱式結構的隱式數組。我的數據實際上是非常相似的,如:通過結構鍵對隱式結構的隱式數組排序
<cfset ReportsArray = [
{
Name = "My First Report",
Group = "Group One"
},
{
Name = "My Second Report",
Group = "Group Two"
},
{
Name = "My Third Report"
Group = "Group One"
},
...etc...
]>
我決定以這種形式來創建數據,以便以後可以在任何一組推新報告的陣列,或者只是改寫陣列的新列表的報告,如果需要。我不知道是否有可能進行排序基於結構的「集團」鍵,這個陣列,這樣我可以通過他們循環和輸出是這樣的:
集團一
我的第一份報告
我的第三份報告
組兩個
我的第二份報告
-
這有道理嗎?或者我正在討論這個錯誤?
我很好奇您的數據實際上是來自,源對象是什麼。幾乎聽起來,從你的一對評論中,像這件事情在配置文件中是一個靜態對象?如果這是一個需要排序一次的大型靜態對象,則可以使用某些類似執行的東西來創建對象的排序版本,並生成代碼的隱式排序版本。您可以在www.cflive.net上運行http://pastebin.com/5BVpKJB2中的代碼來快速生成已排序的對象。 (如果它不是靜態對象,那很酷,它就像你的描述聽起來一樣)。 – 2014-12-02 22:41:20
我不確定我是否理解如何回答你的問題,但我會嘗試進一步解釋我在做什麼。 (我也無法確定我的方式是最好的方法,因爲我大多是前端開發人員。)我在/ applications/Reporting /上有一個集中的報告應用程序。我在我的服務器上的/ ClientName/Admin/Reporting /上也有許多此應用的客戶端實例。這兩個位置都有一個配置.cfm文件,用於設置基本的應用程序配置。/applications/Reporting /具有默認配置,而客戶端級別的配置只是修改或添加任何其他配置。 – Michael 2014-12-03 21:41:28
...因此,在這種情況下,/ applications/Reporting /中的配置具有適用於所有客戶端的默認報告列表。但是,/ ClientOne/Admin/Reporting /中的配置文件可能會重寫整個報表陣列(),或者可能只是附加一些新的報表()在大多數情況下,我希望能夠追加只需要自定義的,而不是在每個客戶端目錄中重寫和維護那些巨大的ReportsArray,因此在這種情況下,數組並不總是按照字母順序排列, –
Michael
2014-12-03 21:46:11