配列を並べ替えて、どちらが大きいかを見つけようとしています。したがって、元の配列 (CurMobRM)、同じ値を持つが並べ替えられて反転された配列 (Ary) と、元の配列の値の位置を持つ配列 (チェック) があります。
簡単な例は、元の値が (3,8,5,2,7) で、それらを並べ替えて、同じ値で異なる位置 (8,7,5,3,2) の配列があるとします。 ) と、すべての値 (3,0,2,4,1) の元の位置を持つ最終的な配列。
var CurMobRM:Array = new Array (3,8,5,2,7);
var checking:Array= new Array;
putattackorder();
function putattackorder() {
var Ary:Array = CurMobRM;
var lo:Number;
Ary.sort ();
Ary.reverse ();
trace (Ary)
for (lo = 0; lo < 5; lo++) {
for (loop = 0; loop < 5; loop++) {
if (Ary[lo] == CurMobRM[loop]) {
checking[lo] = loop
}
}
}
trace (checking)
trace (Ary)
trace (CurMobRM)
}
問題は、Ary をソートすると、CurMobRM も同時にソートされているように見えることです...理由がわかりません。トレース (チェック) は常に 0,1,2,3,4 を返します