簡體   English   中英

在動作腳本中對多維數組進行排序

[英]Sorting Multidimensional Array in Actionscript

我有一個需要排序的數組數組,但是我很難弄清楚。 我的主數組(mainArr)如下所示:

mainArr = ({code:"1", date:"1/2/2001", status:"Active"},
           {code:"2", date:"6/2/2004", status:"Terminated"},
           {code:"3", date:"2/2/2003", status:"Transferred"},
           {code:"4", date:"9/2/2003", status:"Active"});

我需要按對象中的日期對mainArr進行排序。 該列表應最終如下所示:

mainArr = ({code:"1", date:"1/2/2001", status:"Active"},
           {code:"3", date:"2/2/2003", status:"Transferred"},
           {code:"4", date:"9/2/2003", status:"Active"}.
           {code:"2", date:"6/2/2004", status:"Terminated"});

在大多數情況下,可以使用Array的sortOn方法。 例如,如果您想按“代碼”排序:

mainArr.sortOn("code");

這將使用每個對象的代碼字段對數組進行排序,以確定順序。

但是,由於您希望按日期排序(以字符串格式),因此排序將給出錯誤的結果(因為字母順序和日期順序不相同)。 您可以向數組中的每個對象添加一個新屬性,以使排序更加容易,例如:

{code:"1", date:"1/2/2001", status:"Active"}

以相反的順序添加日期(sortableDate),它將變為:

{code:"1", date:"1/2/2001", status:"Active", sortableDate:"2001/2/1"}

然后您可以訂購:

mainArr.sortOn("sortableDate");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM