6

AS3では、Array.sort()次のようないくつかの優れた並べ替えオプションを使用しました。

  • Array.DESCENDING-配列を大きいものから小さいものに並べ替えます
  • Array.RETURNINDEXEDARRAY-インデックスの配列を返すため、どのアイテムがどこでソートされたかを追跡できます

しかし残念Vector<T>.sort()ながら、これらの機能はサポートされておらずcompareFunction:Function、独自の並べ替えロジックを記述できるように引数を取るだけです。

ベクトルのソートされたインデックス付き配列をすばやく取得する他の方法はありますか?

4

2 に答える 2

8

ドキュメントを確認してください:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#sort()

これらのオプションを使用することは引き続き可能ですが、compare関数の代わりに最初のパラメーターとしてそれらを渡す必要があります。

 myVector.sort(Array.DESCENDING|Array.RETURNINDEXEDARRAY);
于 2012-06-20T17:44:18.390 に答える
5

RETURNINDEXEDARRAYFlashPlayer10以降では動作しません。同じオリジナルを返すだけVector<Number>です。

配列とは異なり、このメソッドRETURNINDEXEDARRAYではオプションは無視されますVector.sort()。返されるVectorオブジェクトは、常に元のオブジェクトの参照です。

于 2012-07-01T09:43:30.587 に答える