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