6

多次元配列アイテムがJSに設定されているかどうかを確認する方法は?

w[1][2] = new Array;
w[1][2][1] = new Array;
w[1][2][1][1] = 10; w[1][2][1][2] = 20; w[1][2][1][4] = 30;

設定されているかどうかを確認する方法w[1][2][1][3]は?

の解決策はif (typeof w[1][2][1][3] != 'undefined')機能しません。

配列の代わりにオブジェクトを使用したくありません。

4

2 に答える 2

6

親が存在しない場合は子要素が存在できないため、子をチェックする前に以前の配列要素の存在をチェックしていません

if( 
    typeof(w) != 'undefined' &&
    typeof(w[1]) != 'undefined' &&
    typeof(w[1][2]) != 'undefined' &&
    typeof(w[1][2][1]) != 'undefined' &&
    typeof(w[1][2][1][3]) != 'undefined' &&
  ) {
    //do your code here if it exists  
  } else {
    //One of the array elements does not exist
  }

else前の要素のいずれかが存在しない場合、if は句のコードを実行します。前のチェックのいずれかが false を返す場合、他のチェックを停止します。

于 2013-06-02T14:30:35.763 に答える