3

このオブジェクトのベクトルがあり、各オブジェクトにはいくつかのプロパティ (日付、名前、ID など) があります。

ベクトルを日付で並べ替えたいとします。どうすればいいですか?私は、配列が sortOn() 関数をサポートすることを見てきましたが、ベクトルにはそれがありません。

物体:

public final class DisciplineEvent {
    public var id:Number;
    public var name:String;
    public var date:Date;}

答えてくれてありがとう。

4

2 に答える 2

6

次のベクトルがあるとします。

var objects:Vector<ObjectType> = new Vector<ObjectType>();
objects.push(obj1, obj2);

次のように並べ替えます。

var sortingFunction:Function = function(itemA:ObjectType, itemB:ObjectType):Number {
    if (itemA.date.valueOf() < itemB.date.valueOf()) return -1; //ITEM A is before ITEM B
    else if (itemA.date.valueOf() > itemB.date.valueOf()) return 1; //ITEM A is after ITEM B
    else return 0; //ITEM A and ITEM B have same date
}

objects.sort(sortingFunction);

詳細については、http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#sort()を参照してください。

于 2013-08-05T13:52:17.280 に答える