配列の配列から空の配列に1つの配列を削除しています
var _open:Array = [[x, y]];
var _closed:Array = [];
_closed.push(_open.splice(0, 1));
これにより、配列 _closed が次のようになります。
[[[x, y]]]
誰かが理由を知っていますか?スプライス関数を使用せずに何かをプッシュすると、期待どおりの結果が得られるため、余分なネストはありません。例えば:
_closed.push([8,13]);
// _closed is [[8,13]]
ちなみに、AS3 でのトレース (主に配列) は非常に煩わしいので、この関数を使用して、配列にネストがあるかどうかを確認します。
public static function traceArray(aArray:Array):void
{
for (var t:Object in aArray) {
trace(t + " : " + aArray[t]);
if (typeof(aArray[t]) == "object") {
traceArray(aArray[t]);
}
}
trace();
}