【问题标题】:Sorting Multidimensional Array in Actionscript在 Actionscript 中对多维数组进行排序
【发布时间】:2013-03-11 05:41:30
【问题描述】:

我有一个需要排序的数组数组,但我无法弄清楚它。我的主数组(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"});

【问题讨论】:

    标签: arrays sorting actionscript arraycollection


    【解决方案1】:

    在大多数情况下,您可以使用 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");
    

    【讨论】:

      猜你喜欢
      • 2010-10-13
      • 1970-01-01
      • 2017-11-09
      • 2023-03-23
      • 1970-01-01
      • 2011-06-19
      相关资源
      最近更新 更多