繁体   English   中英

Javascript打印三角形无法正常工作

[英]Javascript print triangle doesn't work as expected

我必须打印一个由“#”组成的三角形。

这是我的代码:

function show(n){
  var text ="";
for(var i=1;i<=n;i++){
    for(var j=1;j<=i;j++){
        text+='#';

      }
     console.log(text);
    }

}
show(4);

对于此输入,我得到:

#
###
######
##########

但我想得到:

#
##
###
####

我的代码有什么问题? 谢谢

尝试清除外部for循环中的text

for(var i=1;i<=n;i++){
    text = "";

完整的代码是

function show(n){
 var text;
 for(var i=1;i<=n;i++){
    text = "";
    for(var j=1;j<=i;j++){
        text+='#';
    }
    console.log(text);
 }
}
show(4);

您不需要两个循环。 只需在每个迭代中附加一个字符并打印出来即可:

var text = "";

for(var i=0; i < n; i++){ 
 text += "#";
 console.log(text); 
}

//prints for n=8: 

#
##
###
####
#####
######
#######
########

您可以这样循环:

<div id="result"></div>
<script>
function show(n){
    var text = "";
    for(var i=1;i<=n;i++){
        for(var j=1;j<=i;j++){
          text+='#';
        }
        text+="<br/>";
        document.getElementById('result').innerHTML = text;
    }
}
show(4);
</script>

您的输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM