2012-03-29 10 views
0

私は自分のグリッドアレイにセットサイズのインデックスを持つフラッシュゲームを持っていますが、いくつかのコードでは時々Arrayインデックスの外側をチェックします。任意のアドバイスが高く評価され、私は、インデックススロットが配列内の未定義インデックス

存在/未定義であるかどうかを確認することができますが方法が私にはTypeErrorの#1010

public function fnPopulate(X:int, Y:int, Grid:Array){ 
    if (Grid[ X + 1 ][ Y + 1 ] != null || Grid[ X + 1 ][ Y + 1 ] != undefined) { 
    return(true); 
    } 

    return(false); 
} 

を与え、事前にありがとうです。

P.S.挨拶を削除し続ける理由はありますか?あなたは、配列の最初の次元をチェックする必要がどの程度

if ((X<Grid.length) && (Y<Grid[X].length)) return(true) else return(false); 

答えて

1


obj!= null, obj!= undefinedは真が返された場合、それは、そのインデックスのスロットに場所にオブジェクトを試みるif(obj){....}

public function fnPopulate(X:int, Y:int, Grid:Array) 
{ 
    if (Grid[ X + 1 ] && Grid[ X + 1 ][ Y + 1 ]) 
    { 
     return(true); 
    } 

    return(false); 
} 
+0

を意味します。だから私はそれがそこにあるかどうかをチェックする必要があります。 –

+0

関数の最初にこの方法であなたの提案を追加しようとしました:if(X + 1> = 10 || +1> = 9){return(true);}存在しないインデックスにアドレスします。 –

+0

これをさらに単純化することができます:return(X Creynders

関連する問題