Home > OS >  Can someone help me fix the bottom two rows of my nested loop? They shouldn't be the same lengt
Can someone help me fix the bottom two rows of my nested loop? They shouldn't be the same lengt

Time:05-15

Good afternoon all,

I'm working on a project where I'd like to create the following pattern:

X
XX
XXX
XXXX

.. and so forth. There are twenty rows in all, and the twentieth row should have 20 X's. Here is what I came up with that's so close:

<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="xloop();">Accept</button> <br>
<p id="xloops"></p>

<script>
function xloop() {
let text = "";
for (j=2; j<=20; j  ) {
text = ("X")   ("<br>");
for (k=1; k<j; k  ) {
text  = ("X");
}
}
document.getElementById("xloops").innerHTML = text;
}
</script>
</body>
</html>

The pattern begins appropriately and does what I want until the very last row. The 20th row only has 19 elements in it, rather than the necessary 20. I have a feeling that this has to do with the "j<k" piece in the k loop being strictly less than j when j equals 20, but any other trial and error combination of indices or inequalities hasn't worked.. is there a way I can remedy this situation using this kind of solution alone without any added complexity?

Thank you!

CodePudding user response:

I think the following will help you:

 <!DOCTYPE html>
<html>
<body>
    <button type="button" onclick="xloop()">Accept</button> <br>
    <p id="xloops"></p>
    <script>
        function xloop() {
            let text = "";
            for (let j = 0; j < 20; j  ) {
                let text2 = "";
                for (let k = 0; k <= j; k  ) {
                    //row
                    text2  = "X"; 
                }
                //line
                text  = `${text2}`   "<br>"
            }
            document.getElementById("xloops").innerHTML = text;
        }
    </script>
</body>
</html>
  • Related