0

最初のifステートメントとネストされたifがelseステートメント内の両方で失敗した場合、最初のforループに戻ってi1ずつインクリメントすると仮定するのは正しいですか?

したがって、ifステートメントもelseステートメントも実行されていなくても、j <totalColsが失敗するまで続行できますか?

var rowCount = [];
for (var i = 0; i < totalRows; i++) {
   rowCount[i]="";
   spaceCount = 0;

   for (var j = 0; j < totalCols; j++) {
      if (puzzle[i][j] == "#") { // if this fails?
         spaceCount++;
         if (j == totalCols-1) rowCount[i] += spaceCount + "&nbsp;&nbsp;"; 
      } else {
         if (spaceCount > 0) { //and this fails?
            rowCount[i] += spaceCount + "&nbsp;&nbsp;";
            spaceCount = 0;
         } 
      }    
   }

}
4

4 に答える 4

2

いいえ、これらのifステートメントのいずれかが失敗した場合でも、増分している内部ループにいますj。内部ループから抜け出すには、breakステートメントを使用する必要があります。

于 2012-10-15T19:06:36.060 に答える
1

いいえ、最初に2番目のループのループを終了して、jをインクリメントします。

    for (var j = 0; j < totalCols; j++) {

そのループが終了したら、最初に戻ってiをインクリメントしますか。

于 2012-10-15T19:08:08.710 に答える
0

ifステートメントが失敗した場合、ネストされたもの ifは実行されません。それはelseブロックに行き、条件が満たされるまでループが続きますi < totalRows

ifステートメントが合格し、ネストが失敗した場合 でも、が満たさifれるまでループが続行されます。i < totalRows

両方のifステートメントが合格した場合、ループはi<totalRowsが満たされるまで条件を継続します。

私が本質的に言っているのは、ネストされたループのifステートメントは外側のループとは何の関係もないということです。

于 2012-10-15T19:04:06.907 に答える
0

breakステートメントを使用して、この動作を実現できます。編集:最初に答えを読むべきでした。

于 2012-10-15T19:25:07.070 に答える