[英]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.