« PHP:list()関数 | メイン | PHP:count()関数 »

2005年12月05日

FLASH:多次元配列のソート

Action Scriptで多次元配列をソートする場合にはsortOn()関数を使用するのが便利です。

myArray = new Array;
myArray.push({code:"002", name:"PHP"});
myArray.push({code:"003", name:"perl"});
myArray.push({code:"001", name:"SQL"});
myArray.push({code:"004", name:"FLASH"});
myArray.sortOn("code");

for(i=0; i<myArray.length; i++){
    trace(myArray[i].code + ", " + myArray[i].name);
}

※上記の結果、

001, SQL
002, PHP
003, perl
004, FLASH

を出力します。

※1、2、3…などの数字のソートは上手くいかない場合があります。そういう場合には上記の例のように001、002同じ桁数で0パディングしてからソートすると上手くいきます。

※sortOn()関数はオプションで並び替え方法を指定可能です。

sortOn(sortkey, 1);
sortOn(sortkey, Array.CASEINSENSITIVE);

sortOn(sortkey, 2);
sortOn(sortkey, Array.DESCENDING);

sortOn(sortkey, 4);
sortOn(sortkey, Array.UNIQUE);

sortOn(sortkey, 8);
sortOn(sortkey, Array.RETURNINDEXEDARRAY);

sortOn(sortkey, 16);
sortOn(sortkey, Array.NUMERIC);

投稿者 wing : 2005年12月05日 23:54

コメント