Estoy tratando de hacer una salida de '*' y obtuve el código correcto porque funciona en la consola, pero cuando intento imprimirlo en el documento html, no funciona.
function Pyramid() { let rows = 9; let output = ''; for (let i = 1; i <= rows; i++) { for (let j = 1; j <= i; j++) { output += '* '; } console.log(output); return output; output = ''; } } document.getElementById('pyramid').textContent = generatePyramid(); <body> <div id="pyramid"></div> <script src="../script.js/script.js"></script> </body>Prueba esto
document.getElementById("pirámide").innerHTML='generatePyramid()';
Bien, entonces hay algunos problemas menores aquí.
Pyramid pero está llamando a generatePyramid .return output está dentro del ciclo for.console.log , lo que le dará una fila en la consola... sin embargo, para el HTML, simplemente lo está descargando todo, por lo que sería una fila continua de estrellas en lugar de una fila a la vez. En el código a continuación, solucioné estos problemas y lo hice para que genere cada fila en un <p> . Existen numerosas formas de lograr este resultado y mejorarlo, pero creo que esto es lo que buscabas.
function generatePyramid() { let rows = 9; let output = ""; for (let i = 1; i <= rows; i++) { output += "<p>"; for (let j = 1; j <= i; j++) { output += "* "; } output += "</p>"; } return output; } document.getElementById("pyramid").innerHTML = generatePyramid();