0

このようなものをJavaScriptで出力したい。

*
**
***
****
*****

やっています

<script type="text/javascript" language="javascript">
var i ,j ;

for(i=1;i<=6;i++){
  for(j=1;j<=6;j++){
    document.write('*');    
    document.write('<br>');    
  }
  document.write('<br>');   
}
</script>

間違いなく、このコードは必要な方法で機能しません。必要な方法で印刷する方法について混乱してい*ます...

4

2 に答える 2

2

内側のループをに変更します

for (j=1; j<=i; j++) {
             ^---  the important bit
    document.write('*');
}
document.write('<br>');

そうすれば、内側のループi*文字数分の値を出力し、外側のループは 6 行が終了した時点で処理を停止します。例えば

i | j     | printed
-------------------
1 | 1     | *
2 | 1,2   | **
3 | 1,2,3 | ***
etc...
于 2013-03-14T22:38:07.277 に答える
2

必要なループは 1 つだけです。

function writeStars(n) {
    var m = '',
        t = [];

    for (var i=0; i<n; i++) {
      m += '*';
      t.push(m);
    }
    return t.join('<br>') + '<br>';
}

document.write(writeStars(6));
于 2013-03-14T22:41:59.300 に答える