0

並べ替える必要がある配列の配列がありますが、それを理解するのに苦労しています。私のメイン配列 (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"});
4

1 に答える 1

0

ほとんどの場合、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");
于 2013-03-21T16:22:03.207 に答える