[英]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.