• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

307
Vistas
¿Cómo usar padStart en un bucle JS para generar un triángulo de X?

Se supone que debo crear un triángulo de X como se muestra en el enlace usando la imagen padString de 20 líneas de X comenzando con una X e incrementando una X por cada línea adicional

La pista que dieron fue que se supone que debo usar algo como...

 let str = ""; str = str.padStart(i,”x”); // i is the loop counter

Lo que tengo hasta ahora es esto...

 let xShape = "x"; for (let counter = 0; counter <= 20; counter = counter + 1) { xShape = xShape + "x" } document.getElementById("demo").innerHTML = xShape.padStart(xShape, "x");
 <p id="demo"></p>

Pero eso no escribe 20 líneas de X comenzando con la primera línea que tiene solo una X y cada nueva línea tiene una X adicional. Solo escribe la última línea de 20 X. ¿Cómo hago para que escriba las 20 líneas? Soy un principiante, y estoy haciendo esto para aprender. Muchas gracias por tu ayuda.

almost 3 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

padStart toma la cadena que se le pasa y rellena el principio con el primer argumento tantas veces como el segundo argumento.

Entonces puede agregarlo a un bucle y simplemente pasarle una cadena vacía para que siempre tenga un punto de inicio vacío.

 let xShape = ""; for (let counter = 0; counter <= 20; counter++) { xShape += "".padStart(counter, "x") + "<br>"; } document.getElementById("demo").innerHTML = xShape;
 <div id="demo"></div>

almost 3 years ago · Santiago Gelvez Denunciar

0

Tendrá que recopilar líneas de salida en el bucle de alguna manera. Pero su uso de padStart también es incorrecto: el primer argumento no debe ser una cadena, sino un número. En realidad, debería ser su contador de bucle.

 let lines = []; for (let counter = 1; counter <= 20; counter = counter + 1) { lines.push("".padStart(counter, "x")); } document.getElementById("demo").innerHTML = lines.join("<br>");
 <p id="demo"></p>

Tenga en cuenta que la repeat del método es más natural aquí:

 let lines = []; for (let counter = 1; counter <= 20; counter = counter + 1) { lines.push("x".repeat(counter)); } document.getElementById("demo").innerHTML = lines.join("<br>");
 <p id="demo"></p>

En un enfoque más funcional:

 document.getElementById("demo").innerHTML = Array.from({length:20}, (_, counter) => "x".repeat(counter+1)) .join("<br>");
 <p id="demo"></p>

almost 3 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda